[SCM] saga branch, master, updated. 8cf2db1c4d8197e4985970621a70d31eaf4e75ac

Johan Van de Wauw johan.vandewauw at gmail.com
Sat Mar 26 07:19:35 UTC 2011


The following commit has been merged in the master branch:
commit 8cf2db1c4d8197e4985970621a70d31eaf4e75ac
Author: Johan Van de Wauw <johan.vandewauw at gmail.com>
Date:   Sat Mar 26 07:12:16 2011 +0100

    Add patch from autoreconf result

diff --git a/debian/patches/0005-Run-autoconf-fi.patch b/debian/patches/0005-Run-autoconf-fi.patch
new file mode 100644
index 0000000..2788837
--- /dev/null
+++ b/debian/patches/0005-Run-autoconf-fi.patch
@@ -0,0 +1,134261 @@
+From: Johan Van de Wauw <johan.vandewauw at gmail.com>
+Date: Sat, 26 Mar 2011 07:11:12 +0100
+Subject: [PATCH] Run autoconf -fi
+
+---
+ aclocal.m4                                    |    4 +-
+ config.guess                                  |    9 +-
+ config.sub                                    |   19 +-
+ configure                                     |  497 +-
+ ltmain.sh                                     |   33 +-
+ m4/libtool.m4                                 |   45 +-
+ src/modules/grid/grid_gridding/Makefile.in    |   12 +-
+ src/modules_io/grid/io_grid_grib2/Makefile.in |  455 +-
+ src/modules_simulation/Makefile.in            |    2 +-
+ src/saga_core/saga_api/saga_api_wrap.cxx      |131751 -------------------------
+ 10 files changed, 355 insertions(+), 132472 deletions(-)
+ delete mode 100644 src/saga_core/saga_api/saga_api_wrap.cxx
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index c36d800..5504007 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -13,8 +13,8 @@
+ 
+ m4_ifndef([AC_AUTOCONF_VERSION],
+   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+-[m4_warning([this file was generated for autoconf 2.65.
++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
++[m4_warning([this file was generated for autoconf 2.67.
+ You have another version of autoconf.  It may work, but is not guaranteed to.
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically `autoreconf'.])])
+diff --git a/config.guess b/config.guess
+index dc84c68..c2246a4 100755
+--- a/config.guess
++++ b/config.guess
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ #   Free Software Foundation, Inc.
+ 
+-timestamp='2009-11-20'
++timestamp='2009-12-30'
+ 
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -56,8 +56,9 @@ version="\
+ GNU config.guess ($timestamp)
+ 
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
++Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+diff --git a/config.sub b/config.sub
+index 2a55a50..c2d1257 100755
+--- a/config.sub
++++ b/config.sub
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ #   Free Software Foundation, Inc.
+ 
+-timestamp='2009-11-20'
++timestamp='2010-01-22'
+ 
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -75,8 +75,9 @@ Report bugs and patches to <config-patches at gnu.org>."
+ version="\
+ GNU config.sub ($timestamp)
+ 
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
++Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -380,7 +381,8 @@ case $basic_machine in
+ 	| sparclite-* \
+ 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ 	| tahoe-* | thumb-* \
+-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tile-* | tilegx-* \
+ 	| tron-* \
+ 	| ubicom32-* \
+ 	| v850-* | v850e-* | vax-* \
+@@ -1085,6 +1087,11 @@ case $basic_machine in
+ 		basic_machine=tic6x-unknown
+ 		os=-coff
+ 		;;
++        # This must be matched before tile*.
++        tilegx*)
++		basic_machine=tilegx-unknown
++		os=-linux-gnu
++		;;
+ 	tile*)
+ 		basic_machine=tile-unknown
+ 		os=-linux-gnu
+@@ -1435,6 +1442,8 @@ case $os in
+ 	-dicos*)
+ 		os=-dicos
+ 		;;
++        -nacl*)
++	        ;;
+ 	-none)
+ 		;;
+ 	*)
+diff --git a/configure b/configure
+index b49d051..cc6a5f9 100755
+--- a/configure
++++ b/configure
+@@ -1,13 +1,13 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.65 for saga 2.0.6.
++# Generated by GNU Autoconf 2.67 for saga 2.0.6.
+ #
+ # Report bugs to <BUG-REPORT-ADDRESS>.
+ #
+ #
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+-# Inc.
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
++# Foundation, Inc.
+ #
+ #
+ # This configure script is free software; the Free Software Foundation
+@@ -319,7 +319,7 @@ $as_echo X"$as_dir" |
+       test -d "$as_dir" && break
+     done
+     test -z "$as_dirs" || eval "mkdir $as_dirs"
+-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+ 
+ 
+ } # as_fn_mkdir_p
+@@ -359,19 +359,19 @@ else
+ fi # as_fn_arith
+ 
+ 
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+-  as_status=$?; test $as_status -eq 0 && as_status=1
+-  if test "$3"; then
+-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+   fi
+-  $as_echo "$as_me: error: $1" >&2
++  $as_echo "$as_me: error: $2" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+ 
+@@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
+ exec 6>&1
+ 
+ # Name of the host.
+-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+ 
+@@ -984,8 +984,9 @@ do
+   fi
+ 
+   case $ac_option in
+-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+-  *)	ac_optarg=yes ;;
++  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *=)   ac_optarg= ;;
++  *)    ac_optarg=yes ;;
+   esac
+ 
+   # Accept the important Cygnus configure options, so we can diagnose typos.
+@@ -1030,7 +1031,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error "invalid feature name: $ac_useropt"
++      as_fn_error $? "invalid feature name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1056,7 +1057,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error "invalid feature name: $ac_useropt"
++      as_fn_error $? "invalid feature name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1260,7 +1261,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error "invalid package name: $ac_useropt"
++      as_fn_error $? "invalid package name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1276,7 +1277,7 @@ do
+     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+-      as_fn_error "invalid package name: $ac_useropt"
++      as_fn_error $? "invalid package name: $ac_useropt"
+     ac_useropt_orig=$ac_useropt
+     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+     case $ac_user_opts in
+@@ -1306,8 +1307,8 @@ do
+   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+     x_libraries=$ac_optarg ;;
+ 
+-  -*) as_fn_error "unrecognized option: \`$ac_option'
+-Try \`$0 --help' for more information."
++  -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
+     ;;
+ 
+   *=*)
+@@ -1315,7 +1316,7 @@ Try \`$0 --help' for more information."
+     # Reject names that are not valid shell variable names.
+     case $ac_envvar in #(
+       '' | [0-9]* | *[!_$as_cr_alnum]* )
+-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
++      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+     esac
+     eval $ac_envvar=\$ac_optarg
+     export $ac_envvar ;;
+@@ -1333,13 +1334,13 @@ done
+ 
+ if test -n "$ac_prev"; then
+   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+-  as_fn_error "missing argument to $ac_option"
++  as_fn_error $? "missing argument to $ac_option"
+ fi
+ 
+ if test -n "$ac_unrecognized_opts"; then
+   case $enable_option_checking in
+     no) ;;
+-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
++    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+   esac
+ fi
+@@ -1362,7 +1363,7 @@ do
+     [\\/$]* | ?:[\\/]* )  continue;;
+     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+   esac
+-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
++  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+ done
+ 
+ # There might be people who depend on the old broken behavior: `$host'
+@@ -1376,8 +1377,8 @@ target=$target_alias
+ if test "x$host_alias" != x; then
+   if test "x$build_alias" = x; then
+     cross_compiling=maybe
+-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+-    If a cross compiler is detected then cross compile mode will be used." >&2
++    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
++    If a cross compiler is detected then cross compile mode will be used" >&2
+   elif test "x$build_alias" != "x$host_alias"; then
+     cross_compiling=yes
+   fi
+@@ -1392,9 +1393,9 @@ test "$silent" = yes && exec 6>/dev/null
+ ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ ac_ls_di=`ls -di .` &&
+ ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+-  as_fn_error "working directory cannot be determined"
++  as_fn_error $? "working directory cannot be determined"
+ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+-  as_fn_error "pwd does not report name of working directory"
++  as_fn_error $? "pwd does not report name of working directory"
+ 
+ 
+ # Find the source files, if location was not specified.
+@@ -1433,11 +1434,11 @@ else
+ fi
+ if test ! -r "$srcdir/$ac_unique_file"; then
+   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
++  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+ fi
+ ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ ac_abs_confdir=`(
+-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
++	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ 	pwd)`
+ # When building in place, set srcdir=.
+ if test "$ac_abs_confdir" = "$ac_pwd"; then
+@@ -1477,7 +1478,7 @@ Configuration:
+       --help=short        display options specific to this package
+       --help=recursive    display the short help of all the included packages
+   -V, --version           display version information and exit
+-  -q, --quiet, --silent   do not print \`checking...' messages
++  -q, --quiet, --silent   do not print \`checking ...' messages
+       --cache-file=FILE   cache test results in FILE [disabled]
+   -C, --config-cache      alias for \`--cache-file=config.cache'
+   -n, --no-create         do not create output files
+@@ -1643,9 +1644,9 @@ test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+   cat <<\_ACEOF
+ saga configure 2.0.6
+-generated by GNU Autoconf 2.65
++generated by GNU Autoconf 2.67
+ 
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+@@ -1787,7 +1788,7 @@ ac_fn_c_check_header_compile ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -1830,7 +1831,7 @@ $as_echo "$ac_try_echo"; } >&5
+     mv -f conftest.er1 conftest.err
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; } >/dev/null && {
++  test $ac_status = 0; } > conftest.i && {
+ 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ 	 test ! -s conftest.err
+        }; then :
+@@ -1896,7 +1897,7 @@ ac_fn_c_check_func ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -1976,7 +1977,7 @@ $as_echo "$ac_try_echo"; } >&5
+     mv -f conftest.er1 conftest.err
+   fi
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+-  test $ac_status = 0; } >/dev/null && {
++  test $ac_status = 0; } > conftest.i && {
+ 	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ 	 test ! -s conftest.err
+        }; then :
+@@ -2046,10 +2047,10 @@ fi
+ ac_fn_c_check_header_mongrel ()
+ {
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++  if eval "test \"\${$3+set}\"" = set; then :
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ fi
+ eval ac_res=\$$3
+@@ -2085,7 +2086,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
+ else
+   ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+ $as_echo "$ac_header_preproc" >&6; }
+ 
+@@ -2108,17 +2109,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+-( cat <<\_ASBOX
+-## --------------------------------- ##
++( $as_echo "## --------------------------------- ##
+ ## Report this to BUG-REPORT-ADDRESS ##
+-## --------------------------------- ##
+-_ASBOX
++## --------------------------------- ##"
+      ) | sed "s/^/$as_me: WARNING:     /" >&2
+     ;;
+ esac
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=\$ac_header_compiler"
+@@ -2140,7 +2139,7 @@ ac_fn_c_check_type ()
+   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+ $as_echo_n "checking for $2... " >&6; }
+-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${$3+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   eval "$3=no"
+@@ -2189,7 +2188,7 @@ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+ 
+ It was created by saga $as_me 2.0.6, which was
+-generated by GNU Autoconf 2.65.  Invocation command line was
++generated by GNU Autoconf 2.67.  Invocation command line was
+ 
+   $ $0 $@
+ 
+@@ -2299,11 +2298,9 @@ trap 'exit_status=$?
+   {
+     echo
+ 
+-    cat <<\_ASBOX
+-## ---------------- ##
++    $as_echo "## ---------------- ##
+ ## Cache variables. ##
+-## ---------------- ##
+-_ASBOX
++## ---------------- ##"
+     echo
+     # The following way of writing the cache mishandles newlines in values,
+ (
+@@ -2337,11 +2334,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ )
+     echo
+ 
+-    cat <<\_ASBOX
+-## ----------------- ##
++    $as_echo "## ----------------- ##
+ ## Output variables. ##
+-## ----------------- ##
+-_ASBOX
++## ----------------- ##"
+     echo
+     for ac_var in $ac_subst_vars
+     do
+@@ -2354,11 +2349,9 @@ _ASBOX
+     echo
+ 
+     if test -n "$ac_subst_files"; then
+-      cat <<\_ASBOX
+-## ------------------- ##
++      $as_echo "## ------------------- ##
+ ## File substitutions. ##
+-## ------------------- ##
+-_ASBOX
++## ------------------- ##"
+       echo
+       for ac_var in $ac_subst_files
+       do
+@@ -2372,11 +2365,9 @@ _ASBOX
+     fi
+ 
+     if test -s confdefs.h; then
+-      cat <<\_ASBOX
+-## ----------- ##
++      $as_echo "## ----------- ##
+ ## confdefs.h. ##
+-## ----------- ##
+-_ASBOX
++## ----------- ##"
+       echo
+       cat confdefs.h
+       echo
+@@ -2431,7 +2422,12 @@ _ACEOF
+ ac_site_file1=NONE
+ ac_site_file2=NONE
+ if test -n "$CONFIG_SITE"; then
+-  ac_site_file1=$CONFIG_SITE
++  # We do not want a PATH search for config.site.
++  case $CONFIG_SITE in #((
++    -*)  ac_site_file1=./$CONFIG_SITE;;
++    */*) ac_site_file1=$CONFIG_SITE;;
++    *)   ac_site_file1=./$CONFIG_SITE;;
++  esac
+ elif test "x$prefix" != xNONE; then
+   ac_site_file1=$prefix/share/config.site
+   ac_site_file2=$prefix/etc/config.site
+@@ -2446,7 +2442,11 @@ do
+     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
+     sed 's/^/| /' "$ac_site_file" >&5
+-    . "$ac_site_file"
++    . "$ac_site_file" \
++      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5 ; }
+   fi
+ done
+ 
+@@ -2522,7 +2522,7 @@ if $ac_cache_corrupted; then
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+ $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ fi
+ ## -------------------- ##
+ ## Main body of script. ##
+@@ -2542,16 +2542,22 @@ am__api_version='1.11'
+ 
+ ac_aux_dir=
+ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+-  for ac_t in install-sh install.sh shtool; do
+-    if test -f "$ac_dir/$ac_t"; then
+-      ac_aux_dir=$ac_dir
+-      ac_install_sh="$ac_aux_dir/$ac_t -c"
+-      break 2
+-    fi
+-  done
++  if test -f "$ac_dir/install-sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install-sh -c"
++    break
++  elif test -f "$ac_dir/install.sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install.sh -c"
++    break
++  elif test -f "$ac_dir/shtool"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/shtool install -c"
++    break
++  fi
+ done
+ if test -z "$ac_aux_dir"; then
+-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
++  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ fi
+ 
+ # These three variables are undocumented and unsupported,
+@@ -2667,11 +2673,11 @@ am_lf='
+ '
+ case `pwd` in
+   *[\\\"\#\$\&\'\`$am_lf]*)
+-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
++    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
+ esac
+ case $srcdir in
+   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
++    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
+ esac
+ 
+ # Do `set' in a subshell so we don't clobber the current shell's
+@@ -2693,7 +2699,7 @@ if (
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
++      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+    fi
+ 
+@@ -2703,7 +2709,7 @@ then
+    # Ok.
+    :
+ else
+-   as_fn_error "newly created file is older than distributed files!
++   as_fn_error $? "newly created file is older than distributed files!
+ Check your system clock" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+@@ -2941,7 +2947,7 @@ done
+ $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+ set x ${MAKE-make}
+ ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
++if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat >conftest.make <<\_ACEOF
+@@ -2949,7 +2955,7 @@ SHELL = /bin/sh
+ all:
+ 	@echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+ case `${MAKE-make} -f conftest.make 2>/dev/null` in
+   *@@@%%%=?*=@@@%%%*)
+     eval ac_cv_prog_make_${ac_make}_set=yes;;
+@@ -2983,7 +2989,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
+   am__isrc=' -I$(srcdir)'
+   # test to see if srcdir already configured
+   if test -f $srcdir/config.status; then
+-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
++    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+   fi
+ fi
+ 
+@@ -3345,9 +3351,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ as_fn_set_status 77
+-as_fn_error "C++ compiler cannot create executables
+-See \`config.log' for more details." "$LINENO" 5; }; }
++as_fn_error 77 "C++ compiler cannot create executables
++See \`config.log' for more details" "$LINENO" 5 ; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+@@ -3389,8 +3394,8 @@ done
+ else
+   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot compute suffix of executables: cannot compile and link
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details" "$LINENO" 5 ; }
+ fi
+ rm -f conftest conftest$ac_cv_exeext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+@@ -3447,9 +3452,9 @@ $as_echo "$ac_try_echo"; } >&5
+     else
+ 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot run C++ compiled programs.
++as_fn_error $? "cannot run C++ compiled programs.
+ If you meant to cross compile, use \`--host'.
+-See \`config.log' for more details." "$LINENO" 5; }
++See \`config.log' for more details" "$LINENO" 5 ; }
+     fi
+   fi
+ fi
+@@ -3500,8 +3505,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "cannot compute suffix of object files: cannot compile
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "cannot compute suffix of object files: cannot compile
++See \`config.log' for more details" "$LINENO" 5 ; }
+ fi
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+@@ -4119,8 +4124,8 @@ fi
+ 
+ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "no acceptable C compiler found in \$PATH
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "no acceptable C compiler found in \$PATH
++See \`config.log' for more details" "$LINENO" 5 ; }
+ 
+ # Provide some information about the compiler.
+ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+@@ -4514,7 +4519,7 @@ ltmain="$ac_aux_dir/ltmain.sh"
+ 
+ # Make sure we can run config.sub.
+ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
++  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+ $as_echo_n "checking build system type... " >&6; }
+@@ -4525,16 +4530,16 @@ else
+ test "x$ac_build_alias" = x &&
+   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+ test "x$ac_build_alias" = x &&
+-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
++  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
++  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ 
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+ $as_echo "$ac_cv_build" >&6; }
+ case $ac_cv_build in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+ esac
+ build=$ac_cv_build
+ ac_save_IFS=$IFS; IFS='-'
+@@ -4559,7 +4564,7 @@ else
+   ac_cv_host=$ac_cv_build
+ else
+   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
++    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ fi
+ 
+ fi
+@@ -4567,7 +4572,7 @@ fi
+ $as_echo "$ac_cv_host" >&6; }
+ case $ac_cv_host in
+ *-*-*) ;;
+-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+ esac
+ host=$ac_cv_host
+ ac_save_IFS=$IFS; IFS='-'
+@@ -4640,7 +4645,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_SED"; then
+-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
++    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_SED=$SED
+@@ -4716,7 +4721,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_GREP"; then
+-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_GREP=$GREP
+@@ -4782,7 +4787,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_EGREP"; then
+-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_EGREP=$EGREP
+@@ -4849,7 +4854,7 @@ esac
+   done
+ IFS=$as_save_IFS
+   if test -z "$ac_cv_path_FGREP"; then
+-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
++    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+   fi
+ else
+   ac_cv_path_FGREP=$FGREP
+@@ -4965,7 +4970,7 @@ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
++test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+ if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+@@ -5167,13 +5172,13 @@ if test "${lt_cv_nm_interface+set}" = set; then :
+ else
+   lt_cv_nm_interface="BSD nm"
+   echo "int some_variable = 0;" > conftest.$ac_ext
+-  (eval echo "\"\$as_me:5170: $ac_compile\"" >&5)
++  (eval echo "\"\$as_me:5175: $ac_compile\"" >&5)
+   (eval "$ac_compile" 2>conftest.err)
+   cat conftest.err >&5
+-  (eval echo "\"\$as_me:5173: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++  (eval echo "\"\$as_me:5178: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+   cat conftest.err >&5
+-  (eval echo "\"\$as_me:5176: output\"" >&5)
++  (eval echo "\"\$as_me:5181: output\"" >&5)
+   cat conftest.out >&5
+   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+     lt_cv_nm_interface="MS dumpbin"
+@@ -5639,11 +5644,11 @@ irix5* | irix6* | nonstopux*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   lt_cv_deplibs_check_method=pass_all
+   ;;
+ 
+-netbsd*)
++netbsd* | netbsdelf*-gnu)
+   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+   else
+@@ -6379,7 +6384,7 @@ ia64-*-hpux*)
+   ;;
+ *-*-irix6*)
+   # Find out which ABI we are using.
+-  echo '#line 6382 "configure"' > conftest.$ac_ext
++  echo '#line 6387 "configure"' > conftest.$ac_ext
+   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+@@ -7168,7 +7173,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -7184,11 +7189,11 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+   break
+ fi
+@@ -7227,7 +7232,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -7243,18 +7248,18 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ 
+ else
+   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details." "$LINENO" 5; }
++as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details" "$LINENO" 5 ; }
+ fi
+ 
+ ac_ext=c
+@@ -7383,8 +7388,7 @@ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+ "
+-eval as_val=\$$as_ac_Header
+-   if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -7834,7 +7838,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -7850,11 +7854,11 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+   break
+ fi
+@@ -7893,7 +7897,7 @@ else
+   # Broken: fails on valid input.
+ continue
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether nonexistent headers
+   # can be detected and how.
+@@ -7909,11 +7913,11 @@ else
+ ac_preproc_ok=:
+ break
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.err conftest.i conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.i conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then :
+ 
+ else
+@@ -8436,11 +8440,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:8439: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8443: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:8443: \$? = $ac_status" >&5
++   echo "$as_me:8447: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+@@ -8605,7 +8609,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+       lt_prog_compiler_static='-non_shared'
+       ;;
+ 
+-    linux* | k*bsd*-gnu)
++    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+       case $cc_basename in
+       # old Intel for x86_64 which still supported -KPIC.
+       ecc*)
+@@ -8775,11 +8779,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:8778: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8782: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:8782: \$? = $ac_status" >&5
++   echo "$as_me:8786: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+@@ -8880,11 +8884,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:8883: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8887: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:8887: \$? = $ac_status" >&5
++   echo "$as_me:8891: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -8935,11 +8939,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:8938: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:8942: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:8942: \$? = $ac_status" >&5
++   echo "$as_me:8946: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -9054,6 +9058,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+   openbsd*)
+     with_gnu_ld=no
+     ;;
++  linux* | k*bsd*-gnu)
++    link_all_deplibs=no
++    ;;
+   esac
+ 
+   ld_shlibs=yes
+@@ -9075,6 +9082,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+     fi
+     supports_anon_versioning=no
+     case `$LD -v 2>&1` in
++      *GNU\ gold*) supports_anon_versioning=yes ;;
+       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+@@ -9166,7 +9174,7 @@ _LT_EOF
+       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       ;;
+ 
+-    gnu* | linux* | tpf* | k*bsd*-gnu)
++    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+       tmp_diet=no
+       if test "$host_os" = linux-dietlibc; then
+ 	case $cc_basename in
+@@ -9236,7 +9244,7 @@ _LT_EOF
+       fi
+       ;;
+ 
+-    netbsd*)
++    netbsd* | netbsdelf*-gnu)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ 	wlarc=
+@@ -9411,6 +9419,7 @@ _LT_EOF
+ 	if test "$aix_use_runtimelinking" = yes; then
+ 	  shared_flag="$shared_flag "'${wl}-G'
+ 	fi
++	link_all_deplibs=no
+       else
+ 	# not using gcc
+ 	if test "$host_cpu" = ia64; then
+@@ -9737,7 +9746,7 @@ rm -f core conftest.err conftest.$ac_objext \
+       link_all_deplibs=yes
+       ;;
+ 
+-    netbsd*)
++    netbsd* | netbsdelf*-gnu)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+       else
+@@ -10627,7 +10636,7 @@ linux*oldld* | linux*aout* | linux*coff*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -10667,13 +10676,10 @@ rm -f core conftest.err conftest.$ac_objext \
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
+-  # Add ABI-specific directories to the system library path.
+-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+-
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -10685,6 +10691,18 @@ rm -f core conftest.err conftest.$ac_objext \
+   dynamic_linker='GNU/Linux ld.so'
+   ;;
+ 
++netbsdelf*-gnu)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='NetBSD ld.elf_so'
++  ;;
++
+ netbsd*)
+   version_type=sunos
+   need_lib_prefix=no
+@@ -11305,7 +11323,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 11308 "configure"
++#line 11326 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -11401,7 +11419,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 11404 "configure"
++#line 11422 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -11816,7 +11834,7 @@ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
++test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+ if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+@@ -12341,7 +12359,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+         inherit_rpath_CXX=yes
+         ;;
+ 
+-      linux* | k*bsd*-gnu)
++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+         case $cc_basename in
+           KCC*)
+ 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+@@ -13169,7 +13187,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ 	    ;;
+ 	esac
+ 	;;
+-      linux* | k*bsd*-gnu)
++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ 	case $cc_basename in
+ 	  KCC*)
+ 	    # KAI C++ Compiler
+@@ -13233,7 +13251,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ 	    ;;
+ 	esac
+ 	;;
+-      netbsd*)
++      netbsd* | netbsdelf*-gnu)
+ 	;;
+       *qnx* | *nto*)
+         # QNX uses GNU C++, but need to define -shared option too, otherwise
+@@ -13357,11 +13375,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:13360: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:13378: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>conftest.err)
+    ac_status=$?
+    cat conftest.err >&5
+-   echo "$as_me:13364: \$? = $ac_status" >&5
++   echo "$as_me:13382: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s "$ac_outfile"; then
+      # The compiler can only warn and ignore the option if not recognized
+      # So say no if there are warnings other than the usual output.
+@@ -13456,11 +13474,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:13459: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:13477: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:13463: \$? = $ac_status" >&5
++   echo "$as_me:13481: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -13508,11 +13526,11 @@ else
+    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+    -e 's:$: $lt_compiler_flag:'`
+-   (eval echo "\"\$as_me:13511: $lt_compile\"" >&5)
++   (eval echo "\"\$as_me:13529: $lt_compile\"" >&5)
+    (eval "$lt_compile" 2>out/conftest.err)
+    ac_status=$?
+    cat out/conftest.err >&5
+-   echo "$as_me:13515: \$? = $ac_status" >&5
++   echo "$as_me:13533: \$? = $ac_status" >&5
+    if (exit $ac_status) && test -s out/conftest2.$ac_objext
+    then
+      # The compiler can only warn and ignore the option if not recognized
+@@ -13584,6 +13602,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+   cygwin* | mingw* | cegcc*)
+     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+   ;;
++  linux* | k*bsd*-gnu)
++    link_all_deplibs_CXX=no
++  ;;
+   *)
+     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+   ;;
+@@ -14083,7 +14104,7 @@ linux*oldld* | linux*aout* | linux*coff*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -14123,13 +14144,10 @@ rm -f core conftest.err conftest.$ac_objext \
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
+-  # Add ABI-specific directories to the system library path.
+-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+-
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -14141,6 +14159,18 @@ rm -f core conftest.err conftest.$ac_objext \
+   dynamic_linker='GNU/Linux ld.so'
+   ;;
+ 
++netbsdelf*-gnu)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='NetBSD ld.elf_so'
++  ;;
++
+ netbsd*)
+   version_type=sunos
+   need_lib_prefix=no
+@@ -14948,8 +14978,7 @@ for ac_header in float.h malloc.h memory.h stdlib.h string.h unistd.h
+ do :
+   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+-eval as_val=\$$as_ac_Header
+-   if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+@@ -15693,8 +15722,7 @@ for ac_func in floor memmove memset modf pow sqrt strchr strdup strerror strrchr
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-eval as_val=\$$as_ac_var
+-   if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+   cat >>confdefs.h <<_ACEOF
+ #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+@@ -15709,7 +15737,7 @@ if test "${enable_debug+set}" = set; then :
+   enableval=$enable_debug; case "${enableval}" in
+         yes) debug=true ;;
+         no)  debug=false ;;
+-        *) as_fn_error "bad value ${enableval} for --enable-debug" "$LINENO" 5 ;;
++        *) as_fn_error $? "bad value ${enableval} for --enable-debug" "$LINENO" 5  ;;
+       esac
+ else
+   debug=false
+@@ -15729,7 +15757,7 @@ if test "${enable_unicode+set}" = set; then :
+   enableval=$enable_unicode; case "${enableval}" in
+      	yes) unicode=true ;;
+ 	no)  unicode=false ;;
+-	*) as_fn_error "bad value ${enableval} for --enable-unicode" "$LINENO" 5 ;;
++	*) as_fn_error $? "bad value ${enableval} for --enable-unicode" "$LINENO" 5  ;;
+       esac
+ else
+   unicode=false
+@@ -15800,7 +15828,7 @@ if test "${enable_python+set}" = set; then :
+   enableval=$enable_python; case "${enableval}" in
+         yes) python=true ;;
+         no)  python=false ;;
+-        *) as_fn_error "bad value ${enableval} for --enable-python" "$LINENO" 5 ;;
++        *) as_fn_error $? "bad value ${enableval} for --enable-python" "$LINENO" 5  ;;
+       esac
+ else
+   python=false
+@@ -15872,7 +15900,7 @@ test -n "$PYTHON" || PYTHON=":"
+ 
+ 
+   if test "$PYTHON" = :; then
+-      as_fn_error "no suitable Python interpreter found" "$LINENO" 5
++      as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
+   else
+ 
+ 
+@@ -16036,7 +16064,7 @@ fi
+ 
+ 
+ 	if test -z "$PYTHON"; then
+-	   as_fn_error "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
++	   as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
+ 	   PYTHON_VERSION=""
+ 	fi
+ 
+@@ -16054,7 +16082,7 @@ $as_echo_n "checking for a version of Python >= '2.1.0'... " >&6; }
+ $as_echo "no" >&6; }
+ 			{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "
++as_fn_error $? "
+ This version of the AC_PYTHON_DEVEL macro
+ doesn't work properly with versions of Python before
+ 2.1.0. You may need to re-run configure, setting the
+@@ -16063,7 +16091,7 @@ PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
+ Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
+ to something else than an empty string.
+ 
+-See \`config.log' for more details." "$LINENO" 5; }
++See \`config.log' for more details" "$LINENO" 5 ; }
+ 		else
+ 			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
+ $as_echo "skip at user request" >&6; }
+@@ -16088,7 +16116,7 @@ $as_echo "yes" >&6; }
+ 		else
+ 			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+-			as_fn_error "this package requires Python .
++			as_fn_error $? "this package requires Python .
+ If you have it installed, but it isn't the default Python
+ interpreter in your system path, please pass the PYTHON_VERSION
+ variable to configure. See \`\`configure --help'' for reference.
+@@ -16109,7 +16137,7 @@ $as_echo "yes" >&6; }
+ 	else
+ 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+-		as_fn_error "cannot import Python module \"distutils\".
++		as_fn_error $? "cannot import Python module \"distutils\".
+ Please check your Python installation. The error was:
+ $ac_distutils_result" "$LINENO" 5
+ 		PYTHON_VERSION=""
+@@ -16214,7 +16242,7 @@ EOD`
+ 		fi
+ 
+ 		if test -z "PYTHON_LDFLAGS"; then
+-			as_fn_error "
++			as_fn_error $? "
+   Cannot determine location of your Python DSO. Please check it was installed with
+   dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
+ 			" "$LINENO" 5
+@@ -16317,7 +16345,7 @@ $as_echo "$pythonexists" >&6; }
+         if test ! "x$pythonexists" = "xyes"; then
+ 	   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error "
++as_fn_error $? "
+   Could not link test program to Python. Maybe the main Python library has been
+   installed in some non-standard library path. If so, pass it to configure,
+   via the LDFLAGS environment variable.
+@@ -16328,7 +16356,7 @@ as_fn_error "
+    for your distribution.  The exact name of this package varies among them.
+   ============================================================================
+ 
+-See \`config.log' for more details." "$LINENO" 5; }
++See \`config.log' for more details" "$LINENO" 5 ; }
+ 	  PYTHON_VERSION=""
+ 	fi
+ 
+@@ -16465,7 +16493,7 @@ $as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+ 
+ fi
+ #AC_CONFIG_FILES([Makefile])
+-ac_config_files="$ac_config_files Makefile src/Makefile src/saga_core/Makefile src/saga_core/saga_api/Makefile src/saga_core/saga_gdi/Makefile src/saga_core/saga_odbc/Makefile src/saga_core/saga_cmd/Makefile src/saga_core/saga_cmd/man/Makefile src/saga_core/saga_gui/Makefile src/saga_core/saga_gui/man/Makefile src/modules/Makefile src/modules/grid/Makefile src/modules/grid/grid_analysis/Makefile src/modules/grid/grid_calculus/Makefile src/modules/grid/grid_calculus_bsl/Makefile src/modules/grid/grid_discretisation/Makefile src/modules/grid/grid_filter/Makefile src/modules/grid/grid_gridding/Makefile src/modules/grid/grid_spline/Makefile src/modules/grid/grid_tools/Makefile src/modules/grid/grid_visualisation/Makefile src/modules/pointcloud/Makefile src/modules/pointcloud/pointcloud_tools/Makefile src/modules/pointcloud/pointcloud_viewer/Makefile src/modules/shapes/Makefile src/modules/shapes/shapes_grid/Makefile src/modules/shapes/shapes_lines/Makefile src/modules/shapes/shapes_points/Makefile src/modules/shapes/shapes_polygons/Makefile src/modules/shapes/shapes_tools/Makefile src/modules/shapes/shapes_transect/Makefile src/modules/table/Makefile src/modules/table/table_calculus/Makefile src/modules/table/table_tools/Makefile src/modules/tin/Makefile src/modules/tin/tin_tools/Makefile src/modules_contrib/Makefile src/modules_contrib/contrib_a_perego/Makefile src/modules_contrib/contrib_a_perego/contrib_a_perego/Makefile src/modules_contrib/contrib_s_liersch/Makefile src/modules_contrib/contrib_s_liersch/ihacres/Makefile src/modules_geostatistics/Makefile src/modules_geostatistics/geostatistics/Makefile src/modules_geostatistics/geostatistics/geostatistics_points/Makefile src/modules_geostatistics/geostatistics/geostatistics_grid/Makefile src/modules_geostatistics/geostatistics/geostatistics_kriging/Makefile src/modules_geostatistics/geostatistics/geostatistics_regression/Makefile src/modules_images/Makefile src/modules_images/modules_imagery/imagery_segmentation/Makefile src/modules_images/modules_imagery/Makefile src/modules_images/modules_opencv/Makefile src/modules_images/modules_opencv/opencv/Makefile src/modules_images/modules_vigra/Makefile src/modules_images/modules_vigra/vigra/Makefile src/modules_io/Makefile src/modules_io/esri_e00/Makefile src/modules_io/esri_e00/io_esri_e00/Makefile src/modules_io/db/Makefile src/modules_io/db/io_odbc/Makefile src/modules_io/docs/Makefile src/modules_io/docs/docs_html/Makefile src/modules_io/docs/docs_pdf/Makefile src/modules_io/gdal/Makefile src/modules_io/gdal/io_gdal/Makefile src/modules_io/grid/Makefile src/modules_io/grid/io_grid/Makefile src/modules_io/grid/io_grid_image/Makefile src/modules_io/grid/io_grid_grib2/Makefile src/modules_io/gps/Makefile src/modules_io/gps/io_gps/Makefile src/modules_io/shapes/Makefile src/modules_io/shapes/io_shapes/Makefile src/modules_io/shapes/io_shapes_dxf/Makefile src/modules_io/shapes/io_shapes_las/Makefile src/modules_io/table/Makefile src/modules_io/table/io_table/Makefile src/modules_lectures/Makefile src/modules_lectures/lectures/Makefile src/modules_lectures/lectures/lectures_introduction/Makefile src/modules_projection/Makefile src/modules_projection/pj_georeference/Makefile src/modules_projection/pj_georeference/pj_georeference/Makefile src/modules_projection/pj_proj4/Makefile src/modules_projection/pj_proj4/pj_proj4/Makefile src/modules_recreations/Makefile src/modules_recreations/recreations/Makefile src/modules_recreations/recreations/recreations_fractals/Makefile src/modules_recreations/recreations/recreations_games/Makefile src/modules_simulation/Makefile src/modules_simulation/hydrology/Makefile src/modules_simulation/hydrology/sim_hydrology/Makefile src/modules_simulation/cellular_automata/Makefile src/modules_simulation/cellular_automata/sim_cellular_automata/Makefile src/modules_simulation/ecosystems/Makefile src/modules_simulation/ecosystems/sim_ecosystems_hugget/Makefile src/modules_simulation/fire/Makefile src/modules_simulation/fire/sim_fire_spreading/Makefile src/modules_terrain_analysis/Makefile src/modules_terrain_analysis/terrain_analysis/Makefile src/modules_terrain_analysis/terrain_analysis/ta_channels/Makefile src/modules_terrain_analysis/terrain_analysis/ta_hydrology/Makefile src/modules_terrain_analysis/terrain_analysis/ta_lighting/Makefile src/modules_terrain_analysis/terrain_analysis/ta_morphometry/Makefile src/modules_terrain_analysis/terrain_analysis/ta_preprocessor/Makefile src/modules_terrain_analysis/terrain_analysis/ta_profiles/Makefile"
++ac_config_files="$ac_config_files Makefile src/Makefile src/saga_core/Makefile src/saga_core/saga_api/Makefile src/saga_core/saga_gdi/Makefile src/saga_core/saga_odbc/Makefile src/saga_core/saga_cmd/Makefile src/saga_core/saga_cmd/man/Makefile src/saga_core/saga_gui/Makefile src/saga_core/saga_gui/man/Makefile src/modules/Makefile src/modules/grid/Makefile src/modules/grid/grid_analysis/Makefile src/modules/grid/grid_calculus/Makefile src/modules/grid/grid_calculus_bsl/Makefile src/modules/grid/grid_discretisation/Makefile src/modules/grid/grid_filter/Makefile src/modules/grid/grid_gridding/Makefile src/modules/grid/grid_spline/Makefile src/modules/grid/grid_tools/Makefile src/modules/grid/grid_visualisation/Makefile src/modules/pointcloud/Makefile src/modules/pointcloud/pointcloud_tools/Makefile src/modules/pointcloud/pointcloud_viewer/Makefile src/modules/shapes/Makefile src/modules/shapes/shapes_grid/Makefile src/modules/shapes/shapes_lines/Makefile src/modules/shapes/shapes_points/Makefile src/modules/shapes/shapes_polygons/Makefile src/modules/shapes/shapes_tools/Makefile src/modules/shapes/shapes_transect/Makefile src/modules/table/Makefile src/modules/table/table_calculus/Makefile src/modules/table/table_tools/Makefile src/modules/tin/Makefile src/modules/tin/tin_tools/Makefile src/modules_contrib/Makefile src/modules_contrib/contrib_a_perego/Makefile src/modules_contrib/contrib_a_perego/contrib_a_perego/Makefile src/modules_contrib/contrib_s_liersch/Makefile src/modules_contrib/contrib_s_liersch/ihacres/Makefile src/modules_geostatistics/Makefile src/modules_geostatistics/geostatistics/Makefile src/modules_geostatistics/geostatistics/geostatistics_points/Makefile src/modules_geostatistics/geostatistics/geostatistics_grid/Makefile src/modules_geostatistics/geostatistics/geostatistics_kriging/Makefile src/modules_geostatistics/geostatistics/geostatistics_regression/Makefile src/modules_images/Makefile src/modules_images/modules_imagery/imagery_segmentation/Makefile src/modules_images/modules_imagery/Makefile src/modules_images/modules_opencv/Makefile src/modules_images/modules_opencv/opencv/Makefile src/modules_images/modules_vigra/Makefile src/modules_images/modules_vigra/vigra/Makefile src/modules_io/Makefile src/modules_io/esri_e00/Makefile src/modules_io/esri_e00/io_esri_e00/Makefile src/modules_io/db/Makefile src/modules_io/db/io_odbc/Makefile src/modules_io/docs/Makefile src/modules_io/docs/docs_html/Makefile src/modules_io/docs/docs_pdf/Makefile src/modules_io/gdal/Makefile src/modules_io/gdal/io_gdal/Makefile src/modules_io/grid/Makefile src/modules_io/grid/io_grid/Makefile src/modules_io/grid/io_grid_image/Makefile src/modules_io/grid/io_grid_grib2/Makefile src/modules_io/gps/Makefile src/modules_io/gps/io_gps/Makefile src/modules_io/shapes/Makefile src/modules_io/shapes/io_shapes/Makefile src/modules_io/shapes/io_shapes_dxf/Makefile src/modules_io/shapes/io_shapes_las/Makefile src/modules_io/table/Makefile src/modules_io/table/io_table/Makefile src/modules_lectures/Makefile src/modules_lectures/lectures/Makefile src/modules_lectures/lectures/lectures_introduction/Makefile src/modules_projection/Makefile src/modules_projection/pj_georeference/Makefile src/modules_projection/pj_georeference/pj_georeference/Makefile src/modules_projection/pj_proj4/Makefile src/modules_projection/pj_proj4/pj_proj4/Makefile src/modules_recreations/Makefile src/modules_recreations/recreations/Makefile src/modules_recreations/recreations/recreations_fractals/Makefile src/modules_recreations/recreations/recreations_games/Makefile src/modules_simulation/Makefile src/modules_simulation/hydrology/Makefile src/modules_simulation/hydrology/sim_hydrology/Makefile src/modules_simulation/cellular_automata/Makefile src/modules_simulation/cellular_automata/sim_cellular_automata/Makefile src/modules_simulation/ecosystems/Makefile src/modules_simulation/ecosystems/sim_ecosystems_hugget/Makefile src/modules_terrain_analysis/Makefile src/modules_terrain_analysis/terrain_analysis/Makefile src/modules_terrain_analysis/terrain_analysis/ta_channels/Makefile src/modules_terrain_analysis/terrain_analysis/ta_hydrology/Makefile src/modules_terrain_analysis/terrain_analysis/ta_lighting/Makefile src/modules_terrain_analysis/terrain_analysis/ta_morphometry/Makefile src/modules_terrain_analysis/terrain_analysis/ta_preprocessor/Makefile src/modules_terrain_analysis/terrain_analysis/ta_profiles/Makefile"
+ 
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+@@ -16586,6 +16614,7 @@ DEFS=`sed -n "$ac_script" confdefs.h`
+ 
+ ac_libobjs=
+ ac_ltlibobjs=
++U=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+   # 1. Remove the extension, and $U if already installed.
+   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+@@ -16609,47 +16638,47 @@ else
+ fi
+ 
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+-  as_fn_error "conditional \"AMDEP\" was never defined.
++  as_fn_error $? "conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
++  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
++  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
++  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${DEBUG_TRUE}" && test -z "${DEBUG_FALSE}"; then
+-  as_fn_error "conditional \"DEBUG\" was never defined.
++  as_fn_error $? "conditional \"DEBUG\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${SAGA_UNICODE_TRUE}" && test -z "${SAGA_UNICODE_FALSE}"; then
+-  as_fn_error "conditional \"SAGA_UNICODE\" was never defined.
++  as_fn_error $? "conditional \"SAGA_UNICODE\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_CV_TRUE}" && test -z "${HAVE_CV_FALSE}"; then
+-  as_fn_error "conditional \"HAVE_CV\" was never defined.
++  as_fn_error $? "conditional \"HAVE_CV\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_LLAS_TRUE}" && test -z "${HAVE_LLAS_FALSE}"; then
+-  as_fn_error "conditional \"HAVE_LLAS\" was never defined.
++  as_fn_error $? "conditional \"HAVE_LLAS\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_VIGRA_TRUE}" && test -z "${HAVE_VIGRA_FALSE}"; then
+-  as_fn_error "conditional \"HAVE_VIGRA\" was never defined.
++  as_fn_error $? "conditional \"HAVE_VIGRA\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_HARU_TRUE}" && test -z "${HAVE_HARU_FALSE}"; then
+-  as_fn_error "conditional \"HAVE_HARU\" was never defined.
++  as_fn_error $? "conditional \"HAVE_HARU\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${SAGA_PYTHON_TRUE}" && test -z "${SAGA_PYTHON_FALSE}"; then
+-  as_fn_error "conditional \"SAGA_PYTHON\" was never defined.
++  as_fn_error $? "conditional \"SAGA_PYTHON\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ 
+@@ -16799,19 +16828,19 @@ export LANGUAGE
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ 
+ 
+-# as_fn_error ERROR [LINENO LOG_FD]
+-# ---------------------------------
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+-# script with status $?, using 1 if that was 0.
++# script with STATUS, using 1 if that was 0.
+ as_fn_error ()
+ {
+-  as_status=$?; test $as_status -eq 0 && as_status=1
+-  if test "$3"; then
+-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+   fi
+-  $as_echo "$as_me: error: $1" >&2
++  $as_echo "$as_me: error: $2" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+ 
+@@ -17007,7 +17036,7 @@ $as_echo X"$as_dir" |
+       test -d "$as_dir" && break
+     done
+     test -z "$as_dirs" || eval "mkdir $as_dirs"
+-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+ 
+ 
+ } # as_fn_mkdir_p
+@@ -17061,7 +17090,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # values after options handling.
+ ac_log="
+ This file was extended by saga $as_me 2.0.6, which was
+-generated by GNU Autoconf 2.65.  Invocation command line was
++generated by GNU Autoconf 2.67.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+   CONFIG_HEADERS  = $CONFIG_HEADERS
+@@ -17118,10 +17147,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
+ saga config.status 2.0.6
+-configured by $0, generated by GNU Autoconf 2.65,
++configured by $0, generated by GNU Autoconf 2.67,
+   with options \\"\$ac_cs_config\\"
+ 
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+ 
+@@ -17139,11 +17168,16 @@ ac_need_defaults=:
+ while test $# != 0
+ do
+   case $1 in
+-  --*=*)
++  --*=?*)
+     ac_option=`expr "X$1" : 'X\([^=]*\)='`
+     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+     ac_shift=:
+     ;;
++  --*=)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=
++    ac_shift=:
++    ;;
+   *)
+     ac_option=$1
+     ac_optarg=$2
+@@ -17165,6 +17199,7 @@ do
+     $ac_shift
+     case $ac_optarg in
+     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    '') as_fn_error $? "missing file argument" ;;
+     esac
+     as_fn_append CONFIG_FILES " '$ac_optarg'"
+     ac_need_defaults=false;;
+@@ -17175,7 +17210,7 @@ do
+     ac_cs_silent=: ;;
+ 
+   # This is an error.
+-  -*) as_fn_error "unrecognized option: \`$1'
++  -*) as_fn_error $? "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+ 
+   *) as_fn_append ac_config_targets " $1"
+@@ -17677,8 +17712,6 @@ do
+     "src/modules_simulation/cellular_automata/sim_cellular_automata/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_simulation/cellular_automata/sim_cellular_automata/Makefile" ;;
+     "src/modules_simulation/ecosystems/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_simulation/ecosystems/Makefile" ;;
+     "src/modules_simulation/ecosystems/sim_ecosystems_hugget/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_simulation/ecosystems/sim_ecosystems_hugget/Makefile" ;;
+-    "src/modules_simulation/fire/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_simulation/fire/Makefile" ;;
+-    "src/modules_simulation/fire/sim_fire_spreading/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_simulation/fire/sim_fire_spreading/Makefile" ;;
+     "src/modules_terrain_analysis/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_terrain_analysis/Makefile" ;;
+     "src/modules_terrain_analysis/terrain_analysis/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_terrain_analysis/terrain_analysis/Makefile" ;;
+     "src/modules_terrain_analysis/terrain_analysis/ta_channels/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_terrain_analysis/terrain_analysis/ta_channels/Makefile" ;;
+@@ -17688,7 +17721,7 @@ do
+     "src/modules_terrain_analysis/terrain_analysis/ta_preprocessor/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_terrain_analysis/terrain_analysis/ta_preprocessor/Makefile" ;;
+     "src/modules_terrain_analysis/terrain_analysis/ta_profiles/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules_terrain_analysis/terrain_analysis/ta_profiles/Makefile" ;;
+ 
+-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+   esac
+ done
+ 
+@@ -17725,7 +17758,7 @@ $debug ||
+ {
+   tmp=./conf$$-$RANDOM
+   (umask 077 && mkdir "$tmp")
+-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ 
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+@@ -17742,7 +17775,7 @@ if test "x$ac_cr" = x; then
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+-  ac_cs_awk_cr='\r'
++  ac_cs_awk_cr='\\r'
+ else
+   ac_cs_awk_cr=$ac_cr
+ fi
+@@ -17756,18 +17789,18 @@ _ACEOF
+   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+   echo "_ACEOF"
+ } >conf$$subs.sh ||
+-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
++  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+   . ./conf$$subs.sh ||
+-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ 
+   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+   if test $ac_delim_n = $ac_delim_num; then
+     break
+   elif $ac_last_try; then
+-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+@@ -17856,20 +17889,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ else
+   cat
+ fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
++  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+ 
+-# VPATH may cause trouble with some makes, so we remove $(srcdir),
+-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+-s/:*\$(srcdir):*/:/
+-s/:*\${srcdir}:*/:/
+-s/:*@srcdir@:*/:/
+-s/^\([^=]*=[	 ]*\):*/\1/
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
++h
++s///
++s/^/:/
++s/[	 ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
+ s/:*$//
++x
++s/\(=[	 ]*\).*/\1/
++G
++s/\n//
+ s/^[^=]*=[	 ]*$//
+ }'
+ fi
+@@ -17887,7 +17928,7 @@ do
+   esac
+   case $ac_mode$ac_tag in
+   :[FHL]*:*);;
+-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
++  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+   :[FH]-) ac_tag=-:-;;
+   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+   esac
+@@ -17915,7 +17956,7 @@ do
+ 	   [\\/$]*) false;;
+ 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ 	   esac ||
+-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+       esac
+       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+       as_fn_append ac_file_inputs " '$ac_f'"
+@@ -17942,7 +17983,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
+ 
+     case $ac_tag in
+     *:-:* | *:-) cat >"$tmp/stdin" \
+-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
+     esac
+     ;;
+   esac
+@@ -18079,22 +18120,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
+ $ac_datarootdir_hack
+ "
+ eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+-  || as_fn_error "could not create $ac_file" "$LINENO" 5
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ 
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined.  Please make sure it is defined." >&5
++which seems to be undefined.  Please make sure it is defined" >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+-which seems to be undefined.  Please make sure it is defined." >&2;}
++which seems to be undefined.  Please make sure it is defined" >&2;}
+ 
+   rm -f "$tmp/stdin"
+   case $ac_file in
+   -) cat "$tmp/out" && rm -f "$tmp/out";;
+   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+   esac \
+-  || as_fn_error "could not create $ac_file" "$LINENO" 5
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+  ;;
+ 
+ 
+@@ -19012,7 +19053,7 @@ _ACEOF
+ ac_clean_files=$ac_clean_files_save
+ 
+ test $ac_write_fail = 0 ||
+-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
++  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ 
+ 
+ # configure is writing to config.log, and then calls config.status.
+@@ -19033,7 +19074,7 @@ if test "$no_create" != yes; then
+   exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+-  $ac_cs_success || as_fn_exit $?
++  $ac_cs_success || as_fn_exit 1
+ fi
+ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+diff --git a/ltmain.sh b/ltmain.sh
+index a72f2fd..7ed280b 100755
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -65,7 +65,7 @@
+ #       compiler:		$LTCC
+ #       compiler flags:		$LTCFLAGS
+ #       linker:		$LD (gnu? $with_gnu_ld)
+-#       $progname:		(GNU libtool) 2.2.6b
++#       $progname:		(GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
+ #       automake:		$automake_version
+ #       autoconf:		$autoconf_version
+ #
+@@ -73,7 +73,7 @@
+ 
+ PROGRAM=ltmain.sh
+ PACKAGE=libtool
+-VERSION=2.2.6b
++VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
+ TIMESTAMP=""
+ package_revision=1.3017
+ 
+@@ -5033,7 +5033,10 @@ func_mode_link ()
+ 	case $pass in
+ 	dlopen) libs="$dlfiles" ;;
+ 	dlpreopen) libs="$dlprefiles" ;;
+-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
++	link)
++	  libs="$deplibs %DEPLIBS%"
++	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
++	  ;;
+ 	esac
+       fi
+       if test "$linkmode,$pass" = "lib,dlpreopen"; then
+@@ -5344,19 +5347,19 @@ func_mode_link ()
+ 	    # It is a libtool convenience library, so add in its objects.
+ 	    convenience="$convenience $ladir/$objdir/$old_library"
+ 	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
++	    tmp_libs=
++	    for deplib in $dependency_libs; do
++	      deplibs="$deplib $deplibs"
++	      if $opt_duplicate_deps ; then
++		case "$tmp_libs " in
++		*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++		esac
++	      fi
++	      tmp_libs="$tmp_libs $deplib"
++	    done
+ 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ 	    func_fatal_error "\`$lib' is not a convenience library"
+ 	  fi
+-	  tmp_libs=
+-	  for deplib in $dependency_libs; do
+-	    deplibs="$deplib $deplibs"
+-	    if $opt_duplicate_deps ; then
+-	      case "$tmp_libs " in
+-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+-	      esac
+-	    fi
+-	    tmp_libs="$tmp_libs $deplib"
+-	  done
+ 	  continue
+ 	fi # $pass = conv
+ 
+@@ -5893,6 +5896,7 @@ func_mode_link ()
+ 	  if test "$link_all_deplibs" != no; then
+ 	    # Add the search paths of all dependency libraries
+ 	    for deplib in $dependency_libs; do
++	      path=
+ 	      case $deplib in
+ 	      -L*) path="$deplib" ;;
+ 	      *.la)
+@@ -6206,6 +6210,9 @@ func_mode_link ()
+ 	    revision="$number_minor"
+ 	    lt_irix_increment=no
+ 	    ;;
++	  *)
++	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
++	    ;;
+ 	  esac
+ 	  ;;
+ 	no)
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index 671cde1..a3fee53 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -2445,7 +2445,7 @@ linux*oldld* | linux*aout* | linux*coff*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+@@ -2470,13 +2470,10 @@ linux* | k*bsd*-gnu)
+   # before this can be enabled.
+   hardcode_into_libs=yes
+ 
+-  # Add ABI-specific directories to the system library path.
+-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+-
+   # Append ld.so.conf contents to the search path
+   if test -f /etc/ld.so.conf; then
+     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+   fi
+ 
+   # We used to test for /lib/ld.so.1 and disable shared libraries on
+@@ -2488,6 +2485,18 @@ linux* | k*bsd*-gnu)
+   dynamic_linker='GNU/Linux ld.so'
+   ;;
+ 
++netbsdelf*-gnu)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='NetBSD ld.elf_so'
++  ;;
++
+ netbsd*)
+   version_type=sunos
+   need_lib_prefix=no
+@@ -3075,11 +3084,11 @@ irix5* | irix6* | nonstopux*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux* | k*bsd*-gnu)
++linux* | k*bsd*-gnu | kopensolaris*-gnu)
+   lt_cv_deplibs_check_method=pass_all
+   ;;
+ 
+-netbsd*)
++netbsd* | netbsdelf*-gnu)
+   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+   else
+@@ -3696,7 +3705,7 @@ m4_if([$1], [CXX], [
+ 	    ;;
+ 	esac
+ 	;;
+-      linux* | k*bsd*-gnu)
++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ 	case $cc_basename in
+ 	  KCC*)
+ 	    # KAI C++ Compiler
+@@ -3760,7 +3769,7 @@ m4_if([$1], [CXX], [
+ 	    ;;
+ 	esac
+ 	;;
+-      netbsd*)
++      netbsd* | netbsdelf*-gnu)
+ 	;;
+       *qnx* | *nto*)
+         # QNX uses GNU C++, but need to define -shared option too, otherwise
+@@ -3980,7 +3989,7 @@ m4_if([$1], [CXX], [
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+       ;;
+ 
+-    linux* | k*bsd*-gnu)
++    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+       case $cc_basename in
+       # old Intel for x86_64 which still supported -KPIC.
+       ecc*)
+@@ -4185,6 +4194,9 @@ m4_if([$1], [CXX], [
+   cygwin* | mingw* | cegcc*)
+     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+   ;;
++  linux* | k*bsd*-gnu)
++    _LT_TAGVAR(link_all_deplibs, $1)=no
++  ;;
+   *)
+     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+   ;;
+@@ -4249,6 +4261,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
+   openbsd*)
+     with_gnu_ld=no
+     ;;
++  linux* | k*bsd*-gnu)
++    _LT_TAGVAR(link_all_deplibs, $1)=no
++    ;;
+   esac
+ 
+   _LT_TAGVAR(ld_shlibs, $1)=yes
+@@ -4270,6 +4285,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
+     fi
+     supports_anon_versioning=no
+     case `$LD -v 2>&1` in
++      *GNU\ gold*) supports_anon_versioning=yes ;;
+       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+@@ -4361,7 +4377,7 @@ _LT_EOF
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       ;;
+ 
+-    gnu* | linux* | tpf* | k*bsd*-gnu)
++    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+       tmp_diet=no
+       if test "$host_os" = linux-dietlibc; then
+ 	case $cc_basename in
+@@ -4431,7 +4447,7 @@ _LT_EOF
+       fi
+       ;;
+ 
+-    netbsd*)
++    netbsd* | netbsdelf*-gnu)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ 	wlarc=
+@@ -4606,6 +4622,7 @@ _LT_EOF
+ 	if test "$aix_use_runtimelinking" = yes; then
+ 	  shared_flag="$shared_flag "'${wl}-G'
+ 	fi
++	_LT_TAGVAR(link_all_deplibs, $1)=no
+       else
+ 	# not using gcc
+ 	if test "$host_cpu" = ia64; then
+@@ -4844,7 +4861,7 @@ _LT_EOF
+       _LT_TAGVAR(link_all_deplibs, $1)=yes
+       ;;
+ 
+-    netbsd*)
++    netbsd* | netbsdelf*-gnu)
+       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+       else
+@@ -5844,7 +5861,7 @@ if test "$_lt_caught_CXX_error" != yes; then
+         _LT_TAGVAR(inherit_rpath, $1)=yes
+         ;;
+ 
+-      linux* | k*bsd*-gnu)
++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+         case $cc_basename in
+           KCC*)
+ 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+diff --git a/src/modules/grid/grid_gridding/Makefile.in b/src/modules/grid/grid_gridding/Makefile.in
+index 33f2a39..bf4b2e6 100644
+--- a/src/modules/grid/grid_gridding/Makefile.in
++++ b/src/modules/grid/grid_gridding/Makefile.in
+@@ -80,7 +80,7 @@ am_libgrid_gridding_la_OBJECTS = Interpolation.lo \
+ 	Interpolation_NearestNeighbour.lo Interpolation_Shepard.lo \
+ 	Interpolation_Triangulation.lo kernel_density.lo \
+ 	MLB_Interface.lo Shapes2Grid.lo Shepard.lo delaunay.lo hash.lo \
+-	istack.lo lpi.lo nnai.lo nncommon.lo nnpi.lo triangle.lo
++	istack.lo lpi.lo nnai.lo nncommon.lo nnpi.lo
+ libgrid_gridding_la_OBJECTS = $(am_libgrid_gridding_la_OBJECTS)
+ DEFAULT_INCLUDES = -I. at am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+@@ -276,7 +276,6 @@ Shepard.cpp\
+ ./nn/nnai.c\
+ ./nn/nncommon.c\
+ ./nn/nnpi.c\
+-./nn/triangle.c\
+ Interpolation.h\
+ Interpolation_InverseDistance.h\
+ Interpolation_NaturalNeighbour.h\
+@@ -292,7 +291,6 @@ Shepard.h\
+ ./nn/istack.h\
+ ./nn/nan.h\
+ ./nn/nn.h\
+-./nn/triangle.h\
+ ./nn/version.h
+ 
+ libgrid_gridding_la_LIBADD = $(top_srcdir)/src/saga_core/saga_api/libsaga_api.la
+@@ -387,7 +385,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnai.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nncommon.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnpi.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/triangle.Plo at am__quote@
+ 
+ .c.o:
+ @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@@ -459,13 +456,6 @@ nnpi.lo: ./nn/nnpi.c
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nnpi.lo `test -f './nn/nnpi.c' || echo '$(srcdir)/'`./nn/nnpi.c
+ 
+-triangle.lo: ./nn/triangle.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT triangle.lo -MD -MP -MF $(DEPDIR)/triangle.Tpo -c -o triangle.lo `test -f './nn/triangle.c' || echo '$(srcdir)/'`./nn/triangle.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/triangle.Tpo $(DEPDIR)/triangle.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./nn/triangle.c' object='triangle.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o triangle.lo `test -f './nn/triangle.c' || echo '$(srcdir)/'`./nn/triangle.c
+-
+ .cpp.o:
+ @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+diff --git a/src/modules_io/grid/io_grid_grib2/Makefile.in b/src/modules_io/grid/io_grid_grib2/Makefile.in
+index b9d3c17..b7c7e31 100644
+--- a/src/modules_io/grid/io_grid_grib2/Makefile.in
++++ b/src/modules_io/grid/io_grid_grib2/Makefile.in
+@@ -74,31 +74,12 @@ am__installdirs = "$(DESTDIR)$(pkglibdir)"
+ LTLIBRARIES = $(pkglib_LTLIBRARIES)
+ libio_grid_grib2_la_DEPENDENCIES =  \
+ 	$(top_srcdir)/src/saga_core/saga_api/libsaga_api.la
+-am_libio_grid_grib2_la_OBJECTS = cmplxpack.lo compack.lo comunpack.lo \
+-	dec_jpeg2000.lo dec_png.lo drstemplates.lo enc_jpeg2000.lo \
+-	enc_png.lo g2_addfield.lo g2_addgrid.lo g2_addlocal.lo \
+-	g2_create.lo g2_free.lo g2_getfld.lo g2_gribend.lo g2_info.lo \
+-	g2_miss.lo g2_unpack1.lo g2_unpack2.lo g2_unpack3.lo \
+-	g2_unpack4.lo g2_unpack5.lo g2_unpack6.lo g2_unpack7.lo \
+-	gbits.lo getdim.lo getpoly.lo gridtemplates.lo int_power.lo \
+-	jpcpack.lo jpcunpack.lo misspack.lo mkieee.lo pack_gp.lo \
+-	pdstemplates.lo pngpack.lo pngunpack.lo rdieee.lo reduce.lo \
+-	seekgb.lo simpack.lo simunpack.lo specpack.lo specunpack.lo \
+-	grib2_import.lo MLB_Interface.lo
++am_libio_grid_grib2_la_OBJECTS = grib2_import.lo MLB_Interface.lo
+ libio_grid_grib2_la_OBJECTS = $(am_libio_grid_grib2_la_OBJECTS)
+ DEFAULT_INCLUDES = -I. at am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+-	$(LDFLAGS) -o $@
+ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+ LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+@@ -108,6 +89,15 @@ CXXLD = $(CXX)
+ CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ 	$(LDFLAGS) -o $@
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++CCLD = $(CC)
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++	$(LDFLAGS) -o $@
+ SOURCES = $(libio_grid_grib2_la_SOURCES)
+ DIST_SOURCES = $(libio_grid_grib2_la_SOURCES)
+ ETAGS = etags
+@@ -260,57 +250,9 @@ DEF_SAGA = -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -DUSE_JPEG2000 -DUSE_PN
+ CXX_INCS = -I$(top_srcdir)/src/saga_core
+ AM_CXXFLAGS = -fPIC $(CXX_INCS) $(DEF_SAGA) $(UC_DEFS) $(DBGFLAGS)
+ #AM_LDFLAGS         = -fPIC -shared -avoid-version -lpq -ljasper
+-AM_LDFLAGS = -fPIC -shared -avoid-version -ljasper
++AM_LDFLAGS = -fPIC -shared -avoid-version -lgrib2c -ljasper
+ pkglib_LTLIBRARIES = libio_grid_grib2.la
+ libio_grid_grib2_la_SOURCES = \
+-./g2clib-1.0.4/cmplxpack.c\
+-./g2clib-1.0.4/compack.c\
+-./g2clib-1.0.4/comunpack.c\
+-./g2clib-1.0.4/dec_jpeg2000.c\
+-./g2clib-1.0.4/dec_png.c\
+-./g2clib-1.0.4/drstemplates.c\
+-./g2clib-1.0.4/enc_jpeg2000.c\
+-./g2clib-1.0.4/enc_png.c\
+-./g2clib-1.0.4/g2_addfield.c\
+-./g2clib-1.0.4/g2_addgrid.c\
+-./g2clib-1.0.4/g2_addlocal.c\
+-./g2clib-1.0.4/g2_create.c\
+-./g2clib-1.0.4/g2_free.c\
+-./g2clib-1.0.4/g2_getfld.c\
+-./g2clib-1.0.4/g2_gribend.c\
+-./g2clib-1.0.4/g2_info.c\
+-./g2clib-1.0.4/g2_miss.c\
+-./g2clib-1.0.4/g2_unpack1.c\
+-./g2clib-1.0.4/g2_unpack2.c\
+-./g2clib-1.0.4/g2_unpack3.c\
+-./g2clib-1.0.4/g2_unpack4.c\
+-./g2clib-1.0.4/g2_unpack5.c\
+-./g2clib-1.0.4/g2_unpack6.c\
+-./g2clib-1.0.4/g2_unpack7.c\
+-./g2clib-1.0.4/gbits.c\
+-./g2clib-1.0.4/getdim.c\
+-./g2clib-1.0.4/getpoly.c\
+-./g2clib-1.0.4/gridtemplates.c\
+-./g2clib-1.0.4/int_power.c\
+-./g2clib-1.0.4/jpcpack.c\
+-./g2clib-1.0.4/jpcunpack.c\
+-./g2clib-1.0.4/misspack.c\
+-./g2clib-1.0.4/mkieee.c\
+-./g2clib-1.0.4/pack_gp.c\
+-./g2clib-1.0.4/pdstemplates.c\
+-./g2clib-1.0.4/pngpack.c\
+-./g2clib-1.0.4/pngunpack.c\
+-./g2clib-1.0.4/rdieee.c\
+-./g2clib-1.0.4/reduce.c\
+-./g2clib-1.0.4/seekgb.c\
+-./g2clib-1.0.4/simpack.c\
+-./g2clib-1.0.4/simunpack.c\
+-./g2clib-1.0.4/specpack.c\
+-./g2clib-1.0.4/specunpack.c\
+-./g2clib-1.0.4/drstemplates.h\
+-./g2clib-1.0.4/grib2.h\
+-./g2clib-1.0.4/gridtemplates.h\
+-./g2clib-1.0.4/pdstemplates.h\
+ grib2_import.cpp\
+ MLB_Interface.cpp\
+ grib2_import.h\
+@@ -320,7 +262,7 @@ libio_grid_grib2_la_LIBADD = $(top_srcdir)/src/saga_core/saga_api/libsaga_api.la
+ all: all-am
+ 
+ .SUFFIXES:
+-.SUFFIXES: .c .cpp .lo .o .obj
++.SUFFIXES: .cpp .lo .o .obj
+ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+ 	@for dep in $?; do \
+ 	  case '$(am__configure_deps)' in \
+@@ -392,380 +334,7 @@ distclean-compile:
+ 	-rm -f *.tab.c
+ 
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MLB_Interface.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cmplxpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/compack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/comunpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dec_jpeg2000.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dec_png.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/drstemplates.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/enc_jpeg2000.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/enc_png.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_addfield.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_addgrid.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_addlocal.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_create.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_free.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_getfld.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_gribend.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_info.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_miss.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack1.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack2.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack3.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack4.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack5.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack6.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/g2_unpack7.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gbits.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/getdim.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/getpoly.Plo at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/grib2_import.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gridtemplates.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/int_power.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/jpcpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/jpcunpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/misspack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mkieee.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pack_gp.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pdstemplates.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pngpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pngunpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rdieee.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reduce.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/seekgb.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simunpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/specpack.Plo at am__quote@
+- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/specunpack.Plo at am__quote@
+-
+-.c.o:
+- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+-
+-.c.obj:
+- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+-
+-.c.lo:
+- at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+-
+-cmplxpack.lo: ./g2clib-1.0.4/cmplxpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cmplxpack.lo -MD -MP -MF $(DEPDIR)/cmplxpack.Tpo -c -o cmplxpack.lo `test -f './g2clib-1.0.4/cmplxpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/cmplxpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/cmplxpack.Tpo $(DEPDIR)/cmplxpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/cmplxpack.c' object='cmplxpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cmplxpack.lo `test -f './g2clib-1.0.4/cmplxpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/cmplxpack.c
+-
+-compack.lo: ./g2clib-1.0.4/compack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compack.lo -MD -MP -MF $(DEPDIR)/compack.Tpo -c -o compack.lo `test -f './g2clib-1.0.4/compack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/compack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/compack.Tpo $(DEPDIR)/compack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/compack.c' object='compack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compack.lo `test -f './g2clib-1.0.4/compack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/compack.c
+-
+-comunpack.lo: ./g2clib-1.0.4/comunpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT comunpack.lo -MD -MP -MF $(DEPDIR)/comunpack.Tpo -c -o comunpack.lo `test -f './g2clib-1.0.4/comunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/comunpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/comunpack.Tpo $(DEPDIR)/comunpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/comunpack.c' object='comunpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o comunpack.lo `test -f './g2clib-1.0.4/comunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/comunpack.c
+-
+-dec_jpeg2000.lo: ./g2clib-1.0.4/dec_jpeg2000.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dec_jpeg2000.lo -MD -MP -MF $(DEPDIR)/dec_jpeg2000.Tpo -c -o dec_jpeg2000.lo `test -f './g2clib-1.0.4/dec_jpeg2000.c' || echo '$(srcdir)/'`./g2clib-1.0.4/dec_jpeg2000.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dec_jpeg2000.Tpo $(DEPDIR)/dec_jpeg2000.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/dec_jpeg2000.c' object='dec_jpeg2000.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dec_jpeg2000.lo `test -f './g2clib-1.0.4/dec_jpeg2000.c' || echo '$(srcdir)/'`./g2clib-1.0.4/dec_jpeg2000.c
+-
+-dec_png.lo: ./g2clib-1.0.4/dec_png.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dec_png.lo -MD -MP -MF $(DEPDIR)/dec_png.Tpo -c -o dec_png.lo `test -f './g2clib-1.0.4/dec_png.c' || echo '$(srcdir)/'`./g2clib-1.0.4/dec_png.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/dec_png.Tpo $(DEPDIR)/dec_png.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/dec_png.c' object='dec_png.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dec_png.lo `test -f './g2clib-1.0.4/dec_png.c' || echo '$(srcdir)/'`./g2clib-1.0.4/dec_png.c
+-
+-drstemplates.lo: ./g2clib-1.0.4/drstemplates.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT drstemplates.lo -MD -MP -MF $(DEPDIR)/drstemplates.Tpo -c -o drstemplates.lo `test -f './g2clib-1.0.4/drstemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/drstemplates.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/drstemplates.Tpo $(DEPDIR)/drstemplates.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/drstemplates.c' object='drstemplates.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o drstemplates.lo `test -f './g2clib-1.0.4/drstemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/drstemplates.c
+-
+-enc_jpeg2000.lo: ./g2clib-1.0.4/enc_jpeg2000.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT enc_jpeg2000.lo -MD -MP -MF $(DEPDIR)/enc_jpeg2000.Tpo -c -o enc_jpeg2000.lo `test -f './g2clib-1.0.4/enc_jpeg2000.c' || echo '$(srcdir)/'`./g2clib-1.0.4/enc_jpeg2000.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/enc_jpeg2000.Tpo $(DEPDIR)/enc_jpeg2000.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/enc_jpeg2000.c' object='enc_jpeg2000.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o enc_jpeg2000.lo `test -f './g2clib-1.0.4/enc_jpeg2000.c' || echo '$(srcdir)/'`./g2clib-1.0.4/enc_jpeg2000.c
+-
+-enc_png.lo: ./g2clib-1.0.4/enc_png.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT enc_png.lo -MD -MP -MF $(DEPDIR)/enc_png.Tpo -c -o enc_png.lo `test -f './g2clib-1.0.4/enc_png.c' || echo '$(srcdir)/'`./g2clib-1.0.4/enc_png.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/enc_png.Tpo $(DEPDIR)/enc_png.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/enc_png.c' object='enc_png.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o enc_png.lo `test -f './g2clib-1.0.4/enc_png.c' || echo '$(srcdir)/'`./g2clib-1.0.4/enc_png.c
+-
+-g2_addfield.lo: ./g2clib-1.0.4/g2_addfield.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_addfield.lo -MD -MP -MF $(DEPDIR)/g2_addfield.Tpo -c -o g2_addfield.lo `test -f './g2clib-1.0.4/g2_addfield.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addfield.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_addfield.Tpo $(DEPDIR)/g2_addfield.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_addfield.c' object='g2_addfield.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_addfield.lo `test -f './g2clib-1.0.4/g2_addfield.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addfield.c
+-
+-g2_addgrid.lo: ./g2clib-1.0.4/g2_addgrid.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_addgrid.lo -MD -MP -MF $(DEPDIR)/g2_addgrid.Tpo -c -o g2_addgrid.lo `test -f './g2clib-1.0.4/g2_addgrid.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addgrid.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_addgrid.Tpo $(DEPDIR)/g2_addgrid.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_addgrid.c' object='g2_addgrid.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_addgrid.lo `test -f './g2clib-1.0.4/g2_addgrid.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addgrid.c
+-
+-g2_addlocal.lo: ./g2clib-1.0.4/g2_addlocal.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_addlocal.lo -MD -MP -MF $(DEPDIR)/g2_addlocal.Tpo -c -o g2_addlocal.lo `test -f './g2clib-1.0.4/g2_addlocal.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addlocal.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_addlocal.Tpo $(DEPDIR)/g2_addlocal.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_addlocal.c' object='g2_addlocal.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_addlocal.lo `test -f './g2clib-1.0.4/g2_addlocal.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_addlocal.c
+-
+-g2_create.lo: ./g2clib-1.0.4/g2_create.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_create.lo -MD -MP -MF $(DEPDIR)/g2_create.Tpo -c -o g2_create.lo `test -f './g2clib-1.0.4/g2_create.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_create.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_create.Tpo $(DEPDIR)/g2_create.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_create.c' object='g2_create.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_create.lo `test -f './g2clib-1.0.4/g2_create.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_create.c
+-
+-g2_free.lo: ./g2clib-1.0.4/g2_free.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_free.lo -MD -MP -MF $(DEPDIR)/g2_free.Tpo -c -o g2_free.lo `test -f './g2clib-1.0.4/g2_free.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_free.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_free.Tpo $(DEPDIR)/g2_free.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_free.c' object='g2_free.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_free.lo `test -f './g2clib-1.0.4/g2_free.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_free.c
+-
+-g2_getfld.lo: ./g2clib-1.0.4/g2_getfld.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_getfld.lo -MD -MP -MF $(DEPDIR)/g2_getfld.Tpo -c -o g2_getfld.lo `test -f './g2clib-1.0.4/g2_getfld.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_getfld.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_getfld.Tpo $(DEPDIR)/g2_getfld.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_getfld.c' object='g2_getfld.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_getfld.lo `test -f './g2clib-1.0.4/g2_getfld.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_getfld.c
+-
+-g2_gribend.lo: ./g2clib-1.0.4/g2_gribend.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_gribend.lo -MD -MP -MF $(DEPDIR)/g2_gribend.Tpo -c -o g2_gribend.lo `test -f './g2clib-1.0.4/g2_gribend.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_gribend.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_gribend.Tpo $(DEPDIR)/g2_gribend.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_gribend.c' object='g2_gribend.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_gribend.lo `test -f './g2clib-1.0.4/g2_gribend.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_gribend.c
+-
+-g2_info.lo: ./g2clib-1.0.4/g2_info.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_info.lo -MD -MP -MF $(DEPDIR)/g2_info.Tpo -c -o g2_info.lo `test -f './g2clib-1.0.4/g2_info.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_info.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_info.Tpo $(DEPDIR)/g2_info.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_info.c' object='g2_info.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_info.lo `test -f './g2clib-1.0.4/g2_info.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_info.c
+-
+-g2_miss.lo: ./g2clib-1.0.4/g2_miss.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_miss.lo -MD -MP -MF $(DEPDIR)/g2_miss.Tpo -c -o g2_miss.lo `test -f './g2clib-1.0.4/g2_miss.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_miss.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_miss.Tpo $(DEPDIR)/g2_miss.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_miss.c' object='g2_miss.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_miss.lo `test -f './g2clib-1.0.4/g2_miss.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_miss.c
+-
+-g2_unpack1.lo: ./g2clib-1.0.4/g2_unpack1.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack1.lo -MD -MP -MF $(DEPDIR)/g2_unpack1.Tpo -c -o g2_unpack1.lo `test -f './g2clib-1.0.4/g2_unpack1.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack1.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack1.Tpo $(DEPDIR)/g2_unpack1.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack1.c' object='g2_unpack1.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack1.lo `test -f './g2clib-1.0.4/g2_unpack1.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack1.c
+-
+-g2_unpack2.lo: ./g2clib-1.0.4/g2_unpack2.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack2.lo -MD -MP -MF $(DEPDIR)/g2_unpack2.Tpo -c -o g2_unpack2.lo `test -f './g2clib-1.0.4/g2_unpack2.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack2.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack2.Tpo $(DEPDIR)/g2_unpack2.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack2.c' object='g2_unpack2.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack2.lo `test -f './g2clib-1.0.4/g2_unpack2.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack2.c
+-
+-g2_unpack3.lo: ./g2clib-1.0.4/g2_unpack3.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack3.lo -MD -MP -MF $(DEPDIR)/g2_unpack3.Tpo -c -o g2_unpack3.lo `test -f './g2clib-1.0.4/g2_unpack3.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack3.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack3.Tpo $(DEPDIR)/g2_unpack3.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack3.c' object='g2_unpack3.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack3.lo `test -f './g2clib-1.0.4/g2_unpack3.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack3.c
+-
+-g2_unpack4.lo: ./g2clib-1.0.4/g2_unpack4.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack4.lo -MD -MP -MF $(DEPDIR)/g2_unpack4.Tpo -c -o g2_unpack4.lo `test -f './g2clib-1.0.4/g2_unpack4.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack4.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack4.Tpo $(DEPDIR)/g2_unpack4.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack4.c' object='g2_unpack4.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack4.lo `test -f './g2clib-1.0.4/g2_unpack4.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack4.c
+-
+-g2_unpack5.lo: ./g2clib-1.0.4/g2_unpack5.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack5.lo -MD -MP -MF $(DEPDIR)/g2_unpack5.Tpo -c -o g2_unpack5.lo `test -f './g2clib-1.0.4/g2_unpack5.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack5.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack5.Tpo $(DEPDIR)/g2_unpack5.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack5.c' object='g2_unpack5.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack5.lo `test -f './g2clib-1.0.4/g2_unpack5.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack5.c
+-
+-g2_unpack6.lo: ./g2clib-1.0.4/g2_unpack6.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack6.lo -MD -MP -MF $(DEPDIR)/g2_unpack6.Tpo -c -o g2_unpack6.lo `test -f './g2clib-1.0.4/g2_unpack6.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack6.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack6.Tpo $(DEPDIR)/g2_unpack6.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack6.c' object='g2_unpack6.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack6.lo `test -f './g2clib-1.0.4/g2_unpack6.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack6.c
+-
+-g2_unpack7.lo: ./g2clib-1.0.4/g2_unpack7.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT g2_unpack7.lo -MD -MP -MF $(DEPDIR)/g2_unpack7.Tpo -c -o g2_unpack7.lo `test -f './g2clib-1.0.4/g2_unpack7.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack7.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/g2_unpack7.Tpo $(DEPDIR)/g2_unpack7.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/g2_unpack7.c' object='g2_unpack7.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o g2_unpack7.lo `test -f './g2clib-1.0.4/g2_unpack7.c' || echo '$(srcdir)/'`./g2clib-1.0.4/g2_unpack7.c
+-
+-gbits.lo: ./g2clib-1.0.4/gbits.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gbits.lo -MD -MP -MF $(DEPDIR)/gbits.Tpo -c -o gbits.lo `test -f './g2clib-1.0.4/gbits.c' || echo '$(srcdir)/'`./g2clib-1.0.4/gbits.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/gbits.Tpo $(DEPDIR)/gbits.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/gbits.c' object='gbits.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gbits.lo `test -f './g2clib-1.0.4/gbits.c' || echo '$(srcdir)/'`./g2clib-1.0.4/gbits.c
+-
+-getdim.lo: ./g2clib-1.0.4/getdim.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getdim.lo -MD -MP -MF $(DEPDIR)/getdim.Tpo -c -o getdim.lo `test -f './g2clib-1.0.4/getdim.c' || echo '$(srcdir)/'`./g2clib-1.0.4/getdim.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/getdim.Tpo $(DEPDIR)/getdim.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/getdim.c' object='getdim.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getdim.lo `test -f './g2clib-1.0.4/getdim.c' || echo '$(srcdir)/'`./g2clib-1.0.4/getdim.c
+-
+-getpoly.lo: ./g2clib-1.0.4/getpoly.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getpoly.lo -MD -MP -MF $(DEPDIR)/getpoly.Tpo -c -o getpoly.lo `test -f './g2clib-1.0.4/getpoly.c' || echo '$(srcdir)/'`./g2clib-1.0.4/getpoly.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/getpoly.Tpo $(DEPDIR)/getpoly.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/getpoly.c' object='getpoly.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getpoly.lo `test -f './g2clib-1.0.4/getpoly.c' || echo '$(srcdir)/'`./g2clib-1.0.4/getpoly.c
+-
+-gridtemplates.lo: ./g2clib-1.0.4/gridtemplates.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gridtemplates.lo -MD -MP -MF $(DEPDIR)/gridtemplates.Tpo -c -o gridtemplates.lo `test -f './g2clib-1.0.4/gridtemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/gridtemplates.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/gridtemplates.Tpo $(DEPDIR)/gridtemplates.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/gridtemplates.c' object='gridtemplates.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gridtemplates.lo `test -f './g2clib-1.0.4/gridtemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/gridtemplates.c
+-
+-int_power.lo: ./g2clib-1.0.4/int_power.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT int_power.lo -MD -MP -MF $(DEPDIR)/int_power.Tpo -c -o int_power.lo `test -f './g2clib-1.0.4/int_power.c' || echo '$(srcdir)/'`./g2clib-1.0.4/int_power.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/int_power.Tpo $(DEPDIR)/int_power.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/int_power.c' object='int_power.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o int_power.lo `test -f './g2clib-1.0.4/int_power.c' || echo '$(srcdir)/'`./g2clib-1.0.4/int_power.c
+-
+-jpcpack.lo: ./g2clib-1.0.4/jpcpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT jpcpack.lo -MD -MP -MF $(DEPDIR)/jpcpack.Tpo -c -o jpcpack.lo `test -f './g2clib-1.0.4/jpcpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/jpcpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/jpcpack.Tpo $(DEPDIR)/jpcpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/jpcpack.c' object='jpcpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o jpcpack.lo `test -f './g2clib-1.0.4/jpcpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/jpcpack.c
+-
+-jpcunpack.lo: ./g2clib-1.0.4/jpcunpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT jpcunpack.lo -MD -MP -MF $(DEPDIR)/jpcunpack.Tpo -c -o jpcunpack.lo `test -f './g2clib-1.0.4/jpcunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/jpcunpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/jpcunpack.Tpo $(DEPDIR)/jpcunpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/jpcunpack.c' object='jpcunpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o jpcunpack.lo `test -f './g2clib-1.0.4/jpcunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/jpcunpack.c
+-
+-misspack.lo: ./g2clib-1.0.4/misspack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misspack.lo -MD -MP -MF $(DEPDIR)/misspack.Tpo -c -o misspack.lo `test -f './g2clib-1.0.4/misspack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/misspack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/misspack.Tpo $(DEPDIR)/misspack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/misspack.c' object='misspack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misspack.lo `test -f './g2clib-1.0.4/misspack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/misspack.c
+-
+-mkieee.lo: ./g2clib-1.0.4/mkieee.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mkieee.lo -MD -MP -MF $(DEPDIR)/mkieee.Tpo -c -o mkieee.lo `test -f './g2clib-1.0.4/mkieee.c' || echo '$(srcdir)/'`./g2clib-1.0.4/mkieee.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/mkieee.Tpo $(DEPDIR)/mkieee.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/mkieee.c' object='mkieee.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mkieee.lo `test -f './g2clib-1.0.4/mkieee.c' || echo '$(srcdir)/'`./g2clib-1.0.4/mkieee.c
+-
+-pack_gp.lo: ./g2clib-1.0.4/pack_gp.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pack_gp.lo -MD -MP -MF $(DEPDIR)/pack_gp.Tpo -c -o pack_gp.lo `test -f './g2clib-1.0.4/pack_gp.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pack_gp.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/pack_gp.Tpo $(DEPDIR)/pack_gp.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/pack_gp.c' object='pack_gp.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pack_gp.lo `test -f './g2clib-1.0.4/pack_gp.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pack_gp.c
+-
+-pdstemplates.lo: ./g2clib-1.0.4/pdstemplates.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pdstemplates.lo -MD -MP -MF $(DEPDIR)/pdstemplates.Tpo -c -o pdstemplates.lo `test -f './g2clib-1.0.4/pdstemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pdstemplates.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/pdstemplates.Tpo $(DEPDIR)/pdstemplates.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/pdstemplates.c' object='pdstemplates.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pdstemplates.lo `test -f './g2clib-1.0.4/pdstemplates.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pdstemplates.c
+-
+-pngpack.lo: ./g2clib-1.0.4/pngpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pngpack.lo -MD -MP -MF $(DEPDIR)/pngpack.Tpo -c -o pngpack.lo `test -f './g2clib-1.0.4/pngpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pngpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/pngpack.Tpo $(DEPDIR)/pngpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/pngpack.c' object='pngpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pngpack.lo `test -f './g2clib-1.0.4/pngpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pngpack.c
+-
+-pngunpack.lo: ./g2clib-1.0.4/pngunpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pngunpack.lo -MD -MP -MF $(DEPDIR)/pngunpack.Tpo -c -o pngunpack.lo `test -f './g2clib-1.0.4/pngunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pngunpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/pngunpack.Tpo $(DEPDIR)/pngunpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/pngunpack.c' object='pngunpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pngunpack.lo `test -f './g2clib-1.0.4/pngunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/pngunpack.c
+-
+-rdieee.lo: ./g2clib-1.0.4/rdieee.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rdieee.lo -MD -MP -MF $(DEPDIR)/rdieee.Tpo -c -o rdieee.lo `test -f './g2clib-1.0.4/rdieee.c' || echo '$(srcdir)/'`./g2clib-1.0.4/rdieee.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/rdieee.Tpo $(DEPDIR)/rdieee.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/rdieee.c' object='rdieee.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rdieee.lo `test -f './g2clib-1.0.4/rdieee.c' || echo '$(srcdir)/'`./g2clib-1.0.4/rdieee.c
+-
+-reduce.lo: ./g2clib-1.0.4/reduce.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reduce.lo -MD -MP -MF $(DEPDIR)/reduce.Tpo -c -o reduce.lo `test -f './g2clib-1.0.4/reduce.c' || echo '$(srcdir)/'`./g2clib-1.0.4/reduce.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/reduce.Tpo $(DEPDIR)/reduce.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/reduce.c' object='reduce.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reduce.lo `test -f './g2clib-1.0.4/reduce.c' || echo '$(srcdir)/'`./g2clib-1.0.4/reduce.c
+-
+-seekgb.lo: ./g2clib-1.0.4/seekgb.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT seekgb.lo -MD -MP -MF $(DEPDIR)/seekgb.Tpo -c -o seekgb.lo `test -f './g2clib-1.0.4/seekgb.c' || echo '$(srcdir)/'`./g2clib-1.0.4/seekgb.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/seekgb.Tpo $(DEPDIR)/seekgb.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/seekgb.c' object='seekgb.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seekgb.lo `test -f './g2clib-1.0.4/seekgb.c' || echo '$(srcdir)/'`./g2clib-1.0.4/seekgb.c
+-
+-simpack.lo: ./g2clib-1.0.4/simpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT simpack.lo -MD -MP -MF $(DEPDIR)/simpack.Tpo -c -o simpack.lo `test -f './g2clib-1.0.4/simpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/simpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/simpack.Tpo $(DEPDIR)/simpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/simpack.c' object='simpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o simpack.lo `test -f './g2clib-1.0.4/simpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/simpack.c
+-
+-simunpack.lo: ./g2clib-1.0.4/simunpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT simunpack.lo -MD -MP -MF $(DEPDIR)/simunpack.Tpo -c -o simunpack.lo `test -f './g2clib-1.0.4/simunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/simunpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/simunpack.Tpo $(DEPDIR)/simunpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/simunpack.c' object='simunpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o simunpack.lo `test -f './g2clib-1.0.4/simunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/simunpack.c
+-
+-specpack.lo: ./g2clib-1.0.4/specpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT specpack.lo -MD -MP -MF $(DEPDIR)/specpack.Tpo -c -o specpack.lo `test -f './g2clib-1.0.4/specpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/specpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/specpack.Tpo $(DEPDIR)/specpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/specpack.c' object='specpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o specpack.lo `test -f './g2clib-1.0.4/specpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/specpack.c
+-
+-specunpack.lo: ./g2clib-1.0.4/specunpack.c
+- at am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT specunpack.lo -MD -MP -MF $(DEPDIR)/specunpack.Tpo -c -o specunpack.lo `test -f './g2clib-1.0.4/specunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/specunpack.c
+- at am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/specunpack.Tpo $(DEPDIR)/specunpack.Plo
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='./g2clib-1.0.4/specunpack.c' object='specunpack.lo' libtool=yes @AMDEPBACKSLASH@
+- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+- at am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o specunpack.lo `test -f './g2clib-1.0.4/specunpack.c' || echo '$(srcdir)/'`./g2clib-1.0.4/specunpack.c
+ 
+ .cpp.o:
+ @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+diff --git a/src/modules_simulation/Makefile.in b/src/modules_simulation/Makefile.in
+index 662d910..f73c668 100644
+--- a/src/modules_simulation/Makefile.in
++++ b/src/modules_simulation/Makefile.in
+@@ -228,7 +228,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = hydrology fire ecosystems cellular_automata
++SUBDIRS = hydrology ecosystems cellular_automata
+ all: all-recursive
+ 
+ .SUFFIXES:
+diff --git a/src/saga_core/saga_api/saga_api_wrap.cxx b/src/saga_core/saga_api/saga_api_wrap.cxx
+deleted file mode 100644
+index ac14c08..0000000
+--- a/src/saga_core/saga_api/saga_api_wrap.cxx
++++ /dev/null
+@@ -1,131751 +0,0 @@
+-/* ----------------------------------------------------------------------------
+- * This file was automatically generated by SWIG (http://www.swig.org).
+- * Version 1.3.40
+- * 
+- * This file is not intended to be easily readable and contains a number of 
+- * coding conventions designed to improve portability and efficiency. Do not make
+- * changes to this file unless you know what you are doing--modify the SWIG 
+- * interface file instead. 
+- * ----------------------------------------------------------------------------- */
+-
+-#define SWIGPYTHON
+-#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
+-
+-
+-#ifdef __cplusplus
+-/* 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);
+-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; }
+-};
+-
+-template <typename T> T SwigValueInit() {
+-  return T();
+-}
+-#endif
+-
+-/* -----------------------------------------------------------------------------
+- *  This section contains generic SWIG labels for method/variable
+- *  declarations/attributes, and other compiler dependent labels.
+- * ----------------------------------------------------------------------------- */
+-
+-/* template workaround for compilers that cannot correctly implement the C++ standard */
+-#ifndef SWIGTEMPLATEDISAMBIGUATOR
+-# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+-#  define SWIGTEMPLATEDISAMBIGUATOR template
+-# elif defined(__HP_aCC)
+-/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
+-/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
+-#  define SWIGTEMPLATEDISAMBIGUATOR template
+-# else
+-#  define SWIGTEMPLATEDISAMBIGUATOR
+-# endif
+-#endif
+-
+-/* inline attribute */
+-#ifndef SWIGINLINE
+-# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+-#   define SWIGINLINE inline
+-# else
+-#   define SWIGINLINE
+-# endif
+-#endif
+-
+-/* attribute recognised by some compilers to avoid 'unused' warnings */
+-#ifndef SWIGUNUSED
+-# if defined(__GNUC__)
+-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+-#     define SWIGUNUSED __attribute__ ((__unused__)) 
+-#   else
+-#     define SWIGUNUSED
+-#   endif
+-# elif defined(__ICC)
+-#   define SWIGUNUSED __attribute__ ((__unused__)) 
+-# else
+-#   define SWIGUNUSED 
+-# endif
+-#endif
+-
+-#ifndef SWIG_MSC_UNSUPPRESS_4505
+-# if defined(_MSC_VER)
+-#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
+-# endif 
+-#endif
+-
+-#ifndef SWIGUNUSEDPARM
+-# ifdef __cplusplus
+-#   define SWIGUNUSEDPARM(p)
+-# else
+-#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
+-# endif
+-#endif
+-
+-/* internal SWIG method */
+-#ifndef SWIGINTERN
+-# define SWIGINTERN static SWIGUNUSED
+-#endif
+-
+-/* internal inline SWIG method */
+-#ifndef SWIGINTERNINLINE
+-# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+-#endif
+-
+-/* exporting methods */
+-#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+-#  ifndef GCC_HASCLASSVISIBILITY
+-#    define GCC_HASCLASSVISIBILITY
+-#  endif
+-#endif
+-
+-#ifndef SWIGEXPORT
+-# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+-#   if defined(STATIC_LINKED)
+-#     define SWIGEXPORT
+-#   else
+-#     define SWIGEXPORT __declspec(dllexport)
+-#   endif
+-# else
+-#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+-#     define SWIGEXPORT __attribute__ ((visibility("default")))
+-#   else
+-#     define SWIGEXPORT
+-#   endif
+-# endif
+-#endif
+-
+-/* calling conventions for Windows */
+-#ifndef SWIGSTDCALL
+-# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+-#   define SWIGSTDCALL __stdcall
+-# else
+-#   define SWIGSTDCALL
+-# endif 
+-#endif
+-
+-/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
+-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
+-# define _CRT_SECURE_NO_DEPRECATE
+-#endif
+-
+-/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
+-#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
+-# define _SCL_SECURE_NO_DEPRECATE
+-#endif
+-
+-
+-
+-/* Python.h has to appear first */
+-#include <Python.h>
+-
+-/* -----------------------------------------------------------------------------
+- * swigrun.swg
+- *
+- * This file contains generic C API SWIG runtime support for pointer
+- * type checking.
+- * ----------------------------------------------------------------------------- */
+-
+-/* This should only be incremented when either the layout of swig_type_info changes,
+-   or for whatever reason, the runtime changes incompatibly */
+-#define SWIG_RUNTIME_VERSION "4"
+-
+-/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+-#ifdef SWIG_TYPE_TABLE
+-# define SWIG_QUOTE_STRING(x) #x
+-# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+-# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+-#else
+-# define SWIG_TYPE_TABLE_NAME
+-#endif
+-
+-/*
+-  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+-  creating a static or dynamic library from the SWIG runtime code.
+-  In 99.9% of the cases, SWIG just needs to declare them as 'static'.
+-  
+-  But only do this if strictly necessary, ie, if you have problems
+-  with your compiler or suchlike.
+-*/
+-
+-#ifndef SWIGRUNTIME
+-# define SWIGRUNTIME SWIGINTERN
+-#endif
+-
+-#ifndef SWIGRUNTIMEINLINE
+-# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+-#endif
+-
+-/*  Generic buffer size */
+-#ifndef SWIG_BUFFER_SIZE
+-# define SWIG_BUFFER_SIZE 1024
+-#endif
+-
+-/* Flags for pointer conversions */
+-#define SWIG_POINTER_DISOWN        0x1
+-#define SWIG_CAST_NEW_MEMORY       0x2
+-
+-/* Flags for new pointer objects */
+-#define SWIG_POINTER_OWN           0x1
+-
+-
+-/* 
+-   Flags/methods for returning states.
+-   
+-   The SWIG conversion methods, as ConvertPtr, return and integer 
+-   that tells if the conversion was successful or not. And if not,
+-   an error code can be returned (see swigerrors.swg for the codes).
+-   
+-   Use the following macros/flags to set or process the returning
+-   states.
+-   
+-   In old versions of SWIG, code such as the following was usually written:
+-
+-     if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
+-       // success code
+-     } else {
+-       //fail code
+-     }
+-
+-   Now you can be more explicit:
+-
+-    int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
+-    if (SWIG_IsOK(res)) {
+-      // success code
+-    } else {
+-      // fail code
+-    }
+-
+-   which is the same really, but now you can also do
+-
+-    Type *ptr;
+-    int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
+-    if (SWIG_IsOK(res)) {
+-      // success code
+-      if (SWIG_IsNewObj(res) {
+-        ...
+-	delete *ptr;
+-      } else {
+-        ...
+-      }
+-    } else {
+-      // fail code
+-    }
+-    
+-   I.e., now SWIG_ConvertPtr can return new objects and you can
+-   identify the case and take care of the deallocation. Of course that
+-   also requires SWIG_ConvertPtr to return new result values, such as
+-
+-      int SWIG_ConvertPtr(obj, ptr,...) {         
+-        if (<obj is ok>) {			       
+-          if (<need new object>) {		       
+-            *ptr = <ptr to new allocated object>; 
+-            return SWIG_NEWOBJ;		       
+-          } else {				       
+-            *ptr = <ptr to old object>;	       
+-            return SWIG_OLDOBJ;		       
+-          } 				       
+-        } else {				       
+-          return SWIG_BADOBJ;		       
+-        }					       
+-      }
+-
+-   Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
+-   more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
+-   SWIG errors code.
+-
+-   Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
+-   allows to return the 'cast rank', for example, if you have this
+-
+-       int food(double)
+-       int fooi(int);
+-
+-   and you call
+- 
+-      food(1)   // cast rank '1'  (1 -> 1.0)
+-      fooi(1)   // cast rank '0'
+-
+-   just use the SWIG_AddCast()/SWIG_CheckState()
+-*/
+-
+-#define SWIG_OK                    (0) 
+-#define SWIG_ERROR                 (-1)
+-#define SWIG_IsOK(r)               (r >= 0)
+-#define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)  
+-
+-/* The CastRankLimit says how many bits are used for the cast rank */
+-#define SWIG_CASTRANKLIMIT         (1 << 8)
+-/* The NewMask denotes the object was created (using new/malloc) */
+-#define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
+-/* The TmpMask is for in/out typemaps that use temporal objects */
+-#define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
+-/* Simple returning values */
+-#define SWIG_BADOBJ                (SWIG_ERROR)
+-#define SWIG_OLDOBJ                (SWIG_OK)
+-#define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
+-#define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
+-/* Check, add and del mask methods */
+-#define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
+-#define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
+-#define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
+-#define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
+-#define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
+-#define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
+-
+-/* Cast-Rank Mode */
+-#if defined(SWIG_CASTRANK_MODE)
+-#  ifndef SWIG_TypeRank
+-#    define SWIG_TypeRank             unsigned long
+-#  endif
+-#  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
+-#    define SWIG_MAXCASTRANK          (2)
+-#  endif
+-#  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
+-#  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
+-SWIGINTERNINLINE int SWIG_AddCast(int r) { 
+-  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
+-}
+-SWIGINTERNINLINE int SWIG_CheckState(int r) { 
+-  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; 
+-}
+-#else /* no cast-rank mode */
+-#  define SWIG_AddCast
+-#  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
+-#endif
+-
+-
+-#include <string.h>
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-typedef void *(*swig_converter_func)(void *, int *);
+-typedef struct swig_type_info *(*swig_dycast_func)(void **);
+-
+-/* Structure to store information on one type */
+-typedef struct swig_type_info {
+-  const char             *name;			/* mangled name of this type */
+-  const char             *str;			/* human readable name of this type */
+-  swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
+-  struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
+-  void                   *clientdata;		/* language specific type data */
+-  int                    owndata;		/* flag if the structure owns the clientdata */
+-} swig_type_info;
+-
+-/* Structure to store a type and conversion function used for casting */
+-typedef struct swig_cast_info {
+-  swig_type_info         *type;			/* pointer to type that is equivalent to this type */
+-  swig_converter_func     converter;		/* function to cast the void pointers */
+-  struct swig_cast_info  *next;			/* pointer to next cast in linked list */
+-  struct swig_cast_info  *prev;			/* pointer to the previous cast */
+-} swig_cast_info;
+-
+-/* Structure used to store module information
+- * Each module generates one structure like this, and the runtime collects
+- * all of these structures and stores them in a circularly linked list.*/
+-typedef struct swig_module_info {
+-  swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
+-  size_t                 size;		        /* Number of types in this module */
+-  struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
+-  swig_type_info         **type_initial;	/* Array of initially generated type structures */
+-  swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
+-  void                    *clientdata;		/* Language specific module data */
+-} swig_module_info;
+-
+-/* 
+-  Compare two type names skipping the space characters, therefore
+-  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+-
+-  Return 0 when the two name types are equivalent, as in
+-  strncmp, but skipping ' '.
+-*/
+-SWIGRUNTIME int
+-SWIG_TypeNameComp(const char *f1, const char *l1,
+-		  const char *f2, const char *l2) {
+-  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+-    while ((*f1 == ' ') && (f1 != l1)) ++f1;
+-    while ((*f2 == ' ') && (f2 != l2)) ++f2;
+-    if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
+-  }
+-  return (int)((l1 - f1) - (l2 - f2));
+-}
+-
+-/*
+-  Check type equivalence in a name list like <name1>|<name2>|...
+-  Return 0 if not equal, 1 if equal
+-*/
+-SWIGRUNTIME int
+-SWIG_TypeEquiv(const char *nb, const char *tb) {
+-  int equiv = 0;
+-  const char* te = tb + strlen(tb);
+-  const char* ne = nb;
+-  while (!equiv && *ne) {
+-    for (nb = ne; *ne; ++ne) {
+-      if (*ne == '|') break;
+-    }
+-    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+-    if (*ne) ++ne;
+-  }
+-  return equiv;
+-}
+-
+-/*
+-  Check type equivalence in a name list like <name1>|<name2>|...
+-  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+-*/
+-SWIGRUNTIME int
+-SWIG_TypeCompare(const char *nb, const char *tb) {
+-  int equiv = 0;
+-  const char* te = tb + strlen(tb);
+-  const char* ne = nb;
+-  while (!equiv && *ne) {
+-    for (nb = ne; *ne; ++ne) {
+-      if (*ne == '|') break;
+-    }
+-    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+-    if (*ne) ++ne;
+-  }
+-  return equiv;
+-}
+-
+-
+-/*
+-  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;
+-}
+-
+-/* 
+-  Identical to SWIG_TypeCheck, 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;
+-}
+-
+-/*
+-  Cast a pointer up an inheritance hierarchy
+-*/
+-SWIGRUNTIMEINLINE void *
+-SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
+-  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
+-}
+-
+-/* 
+-   Dynamic pointer casting. Down an inheritance hierarchy
+-*/
+-SWIGRUNTIME swig_type_info *
+-SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+-  swig_type_info *lastty = ty;
+-  if (!ty || !ty->dcast) return ty;
+-  while (ty && (ty->dcast)) {
+-    ty = (*ty->dcast)(ptr);
+-    if (ty) lastty = ty;
+-  }
+-  return lastty;
+-}
+-
+-/*
+-  Return the name associated with this type
+-*/
+-SWIGRUNTIMEINLINE const char *
+-SWIG_TypeName(const swig_type_info *ty) {
+-  return ty->name;
+-}
+-
+-/*
+-  Return the pretty name associated with this type,
+-  that is an unmangled type name in a form presentable to the user.
+-*/
+-SWIGRUNTIME const char *
+-SWIG_TypePrettyName(const swig_type_info *type) {
+-  /* The "str" field contains the equivalent pretty names of the
+-     type, separated by vertical-bar characters.  We choose
+-     to print the last name, as it is often (?) the most
+-     specific. */
+-  if (!type) return NULL;
+-  if (type->str != NULL) {
+-    const char *last_name = type->str;
+-    const char *s;
+-    for (s = type->str; *s; s++)
+-      if (*s == '|') last_name = s+1;
+-    return last_name;
+-  }
+-  else
+-    return type->name;
+-}
+-
+-/* 
+-   Set the clientdata field for a type
+-*/
+-SWIGRUNTIME void
+-SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+-  swig_cast_info *cast = ti->cast;
+-  /* if (ti->clientdata == clientdata) return; */
+-  ti->clientdata = clientdata;
+-  
+-  while (cast) {
+-    if (!cast->converter) {
+-      swig_type_info *tc = cast->type;
+-      if (!tc->clientdata) {
+-	SWIG_TypeClientData(tc, clientdata);
+-      }
+-    }    
+-    cast = cast->next;
+-  }
+-}
+-SWIGRUNTIME void
+-SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
+-  SWIG_TypeClientData(ti, clientdata);
+-  ti->owndata = 1;
+-}
+-  
+-/*
+-  Search for a swig_type_info structure only by mangled name
+-  Search is a O(log #types)
+-  
+-  We start searching at module start, and finish searching when start == end.  
+-  Note: if start == end at the beginning of the function, we go all the way around
+-  the circular list.
+-*/
+-SWIGRUNTIME swig_type_info *
+-SWIG_MangledTypeQueryModule(swig_module_info *start, 
+-                            swig_module_info *end, 
+-		            const char *name) {
+-  swig_module_info *iter = start;
+-  do {
+-    if (iter->size) {
+-      register size_t l = 0;
+-      register size_t r = iter->size - 1;
+-      do {
+-	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
+-	register size_t i = (l + r) >> 1; 
+-	const char *iname = iter->types[i]->name;
+-	if (iname) {
+-	  register int compare = strcmp(name, iname);
+-	  if (compare == 0) {	    
+-	    return iter->types[i];
+-	  } else if (compare < 0) {
+-	    if (i) {
+-	      r = i - 1;
+-	    } else {
+-	      break;
+-	    }
+-	  } else if (compare > 0) {
+-	    l = i + 1;
+-	  }
+-	} else {
+-	  break; /* should never happen */
+-	}
+-      } while (l <= r);
+-    }
+-    iter = iter->next;
+-  } while (iter != end);
+-  return 0;
+-}
+-
+-/*
+-  Search for a swig_type_info structure for either a mangled name or a human readable name.
+-  It first searches the mangled names of the types, which is a O(log #types)
+-  If a type is not found it then searches the human readable names, which is O(#types).
+-  
+-  We start searching at module start, and finish searching when start == end.  
+-  Note: if start == end at the beginning of the function, we go all the way around
+-  the circular list.
+-*/
+-SWIGRUNTIME swig_type_info *
+-SWIG_TypeQueryModule(swig_module_info *start, 
+-                     swig_module_info *end, 
+-		     const char *name) {
+-  /* STEP 1: Search the name field using binary search */
+-  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
+-  if (ret) {
+-    return ret;
+-  } else {
+-    /* STEP 2: If the type hasn't been found, do a complete search
+-       of the str field (the human readable name) */
+-    swig_module_info *iter = start;
+-    do {
+-      register size_t i = 0;
+-      for (; i < iter->size; ++i) {
+-	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
+-	  return iter->types[i];
+-      }
+-      iter = iter->next;
+-    } while (iter != end);
+-  }
+-  
+-  /* neither found a match */
+-  return 0;
+-}
+-
+-/* 
+-   Pack binary data into a string
+-*/
+-SWIGRUNTIME char *
+-SWIG_PackData(char *c, void *ptr, size_t sz) {
+-  static const char hex[17] = "0123456789abcdef";
+-  register const unsigned char *u = (unsigned char *) ptr;
+-  register const unsigned char *eu =  u + sz;
+-  for (; u != eu; ++u) {
+-    register unsigned char uu = *u;
+-    *(c++) = hex[(uu & 0xf0) >> 4];
+-    *(c++) = hex[uu & 0xf];
+-  }
+-  return c;
+-}
+-
+-/* 
+-   Unpack binary data from a string
+-*/
+-SWIGRUNTIME const char *
+-SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+-  register unsigned char *u = (unsigned char *) ptr;
+-  register const unsigned char *eu = u + sz;
+-  for (; u != eu; ++u) {
+-    register char d = *(c++);
+-    register unsigned char uu;
+-    if ((d >= '0') && (d <= '9'))
+-      uu = ((d - '0') << 4);
+-    else if ((d >= 'a') && (d <= 'f'))
+-      uu = ((d - ('a'-10)) << 4);
+-    else 
+-      return (char *) 0;
+-    d = *(c++);
+-    if ((d >= '0') && (d <= '9'))
+-      uu |= (d - '0');
+-    else if ((d >= 'a') && (d <= 'f'))
+-      uu |= (d - ('a'-10));
+-    else 
+-      return (char *) 0;
+-    *u = uu;
+-  }
+-  return c;
+-}
+-
+-/* 
+-   Pack 'void *' into a string buffer.
+-*/
+-SWIGRUNTIME char *
+-SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+-  char *r = buff;
+-  if ((2*sizeof(void *) + 2) > bsz) return 0;
+-  *(r++) = '_';
+-  r = SWIG_PackData(r,&ptr,sizeof(void *));
+-  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+-  strcpy(r,name);
+-  return buff;
+-}
+-
+-SWIGRUNTIME const char *
+-SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+-  if (*c != '_') {
+-    if (strcmp(c,"NULL") == 0) {
+-      *ptr = (void *) 0;
+-      return name;
+-    } else {
+-      return 0;
+-    }
+-  }
+-  return SWIG_UnpackData(++c,ptr,sizeof(void *));
+-}
+-
+-SWIGRUNTIME char *
+-SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+-  char *r = buff;
+-  size_t lname = (name ? strlen(name) : 0);
+-  if ((2*sz + 2 + lname) > bsz) return 0;
+-  *(r++) = '_';
+-  r = SWIG_PackData(r,ptr,sz);
+-  if (lname) {
+-    strncpy(r,name,lname+1);
+-  } else {
+-    *r = 0;
+-  }
+-  return buff;
+-}
+-
+-SWIGRUNTIME const char *
+-SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+-  if (*c != '_') {
+-    if (strcmp(c,"NULL") == 0) {
+-      memset(ptr,0,sz);
+-      return name;
+-    } else {
+-      return 0;
+-    }
+-  }
+-  return SWIG_UnpackData(++c,ptr,sz);
+-}
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-/*  Errors in SWIG */
+-#define  SWIG_UnknownError    	   -1 
+-#define  SWIG_IOError        	   -2 
+-#define  SWIG_RuntimeError   	   -3 
+-#define  SWIG_IndexError     	   -4 
+-#define  SWIG_TypeError      	   -5 
+-#define  SWIG_DivisionByZero 	   -6 
+-#define  SWIG_OverflowError  	   -7 
+-#define  SWIG_SyntaxError    	   -8 
+-#define  SWIG_ValueError     	   -9 
+-#define  SWIG_SystemError    	   -10
+-#define  SWIG_AttributeError 	   -11
+-#define  SWIG_MemoryError    	   -12 
+-#define  SWIG_NullReferenceError   -13
+-
+-
+-
+-/* 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
+-# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
+-#  define PyOS_snprintf _snprintf
+-# else
+-#  define PyOS_snprintf snprintf
+-# endif
+-#endif
+-
+-/* A crude PyString_FromFormat implementation for old Pythons */
+-#if PY_VERSION_HEX < 0x02020000
+-
+-#ifndef SWIG_PYBUFFER_SIZE
+-# define SWIG_PYBUFFER_SIZE 1024
+-#endif
+-
+-static PyObject *
+-PyString_FromFormat(const char *fmt, ...) {
+-  va_list ap;
+-  char buf[SWIG_PYBUFFER_SIZE * 2];
+-  int res;
+-  va_start(ap, fmt);
+-  res = vsnprintf(buf, sizeof(buf), fmt, ap);
+-  va_end(ap);
+-  return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
+-}
+-#endif
+-
+-/* Add PyObject_Del for old Pythons */
+-#if PY_VERSION_HEX < 0x01060000
+-# define PyObject_Del(op) PyMem_DEL((op))
+-#endif
+-#ifndef PyObject_DEL
+-# define PyObject_DEL PyObject_Del
+-#endif
+-
+-/* A crude PyExc_StopIteration exception for old Pythons */
+-#if PY_VERSION_HEX < 0x02020000
+-# ifndef PyExc_StopIteration
+-#  define PyExc_StopIteration PyExc_RuntimeError
+-# endif
+-# ifndef PyObject_GenericGetAttr
+-#  define PyObject_GenericGetAttr 0
+-# endif
+-#endif
+-
+-/* Py_NotImplemented is defined in 2.1 and up. */
+-#if PY_VERSION_HEX < 0x02010000
+-# ifndef Py_NotImplemented
+-#  define Py_NotImplemented PyExc_RuntimeError
+-# endif
+-#endif
+-
+-/* A crude PyString_AsStringAndSize implementation for old Pythons */
+-#if PY_VERSION_HEX < 0x02010000
+-# ifndef PyString_AsStringAndSize
+-#  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
+-# endif
+-#endif
+-
+-/* PySequence_Size for old Pythons */
+-#if PY_VERSION_HEX < 0x02000000
+-# ifndef PySequence_Size
+-#  define PySequence_Size PySequence_Length
+-# endif
+-#endif
+-
+-/* PyBool_FromLong for old Pythons */
+-#if PY_VERSION_HEX < 0x02030000
+-static
+-PyObject *PyBool_FromLong(long ok)
+-{
+-  PyObject *result = ok ? Py_True : Py_False;
+-  Py_INCREF(result);
+-  return result;
+-}
+-#endif
+-
+-/* Py_ssize_t for old Pythons */
+-/* This code is as recommended by: */
+-/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+-#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+-typedef int Py_ssize_t;
+-# define PY_SSIZE_T_MAX INT_MAX
+-# define PY_SSIZE_T_MIN INT_MIN
+-#endif
+-
+-/* -----------------------------------------------------------------------------
+- * error manipulation
+- * ----------------------------------------------------------------------------- */
+-
+-SWIGRUNTIME PyObject*
+-SWIG_Python_ErrorType(int code) {
+-  PyObject* type = 0;
+-  switch(code) {
+-  case SWIG_MemoryError:
+-    type = PyExc_MemoryError;
+-    break;
+-  case SWIG_IOError:
+-    type = PyExc_IOError;
+-    break;
+-  case SWIG_RuntimeError:
+-    type = PyExc_RuntimeError;
+-    break;
+-  case SWIG_IndexError:
+-    type = PyExc_IndexError;
+-    break;
+-  case SWIG_TypeError:
+-    type = PyExc_TypeError;
+-    break;
+-  case SWIG_DivisionByZero:
+-    type = PyExc_ZeroDivisionError;
+-    break;
+-  case SWIG_OverflowError:
+-    type = PyExc_OverflowError;
+-    break;
+-  case SWIG_SyntaxError:
+-    type = PyExc_SyntaxError;
+-    break;
+-  case SWIG_ValueError:
+-    type = PyExc_ValueError;
+-    break;
+-  case SWIG_SystemError:
+-    type = PyExc_SystemError;
+-    break;
+-  case SWIG_AttributeError:
+-    type = PyExc_AttributeError;
+-    break;
+-  default:
+-    type = PyExc_RuntimeError;
+-  }
+-  return type;
+-}
+-
+-
+-SWIGRUNTIME void
+-SWIG_Python_AddErrorMsg(const char* mesg)
+-{
+-  PyObject *type = 0;
+-  PyObject *value = 0;
+-  PyObject *traceback = 0;
+-
+-  if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
+-  if (value) {
+-    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);
+-    Py_DECREF(old_str);
+-    Py_DECREF(value);
+-  } else {
+-    PyErr_SetString(PyExc_RuntimeError, mesg);
+-  }
+-}
+-
+-#if defined(SWIG_PYTHON_NO_THREADS)
+-#  if defined(SWIG_PYTHON_THREADS)
+-#    undef SWIG_PYTHON_THREADS
+-#  endif
+-#endif
+-#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
+-#  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
+-#    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
+-#      define SWIG_PYTHON_USE_GIL
+-#    endif
+-#  endif
+-#  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
+-#    ifndef SWIG_PYTHON_INITIALIZE_THREADS
+-#     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads() 
+-#    endif
+-#    ifdef __cplusplus /* C++ code */
+-       class SWIG_Python_Thread_Block {
+-         bool status;
+-         PyGILState_STATE state;
+-       public:
+-         void end() { if (status) { PyGILState_Release(state); status = false;} }
+-         SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
+-         ~SWIG_Python_Thread_Block() { end(); }
+-       };
+-       class SWIG_Python_Thread_Allow {
+-         bool status;
+-         PyThreadState *save;
+-       public:
+-         void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
+-         SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
+-         ~SWIG_Python_Thread_Allow() { end(); }
+-       };
+-#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   SWIG_Python_Thread_Block _swig_thread_block
+-#      define SWIG_PYTHON_THREAD_END_BLOCK     _swig_thread_block.end()
+-#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   SWIG_Python_Thread_Allow _swig_thread_allow
+-#      define SWIG_PYTHON_THREAD_END_ALLOW     _swig_thread_allow.end()
+-#    else /* C code */
+-#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
+-#      define SWIG_PYTHON_THREAD_END_BLOCK     PyGILState_Release(_swig_thread_block)
+-#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   PyThreadState *_swig_thread_allow = PyEval_SaveThread()
+-#      define SWIG_PYTHON_THREAD_END_ALLOW     PyEval_RestoreThread(_swig_thread_allow)
+-#    endif
+-#  else /* Old thread way, not implemented, user must provide it */
+-#    if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
+-#      define SWIG_PYTHON_INITIALIZE_THREADS
+-#    endif
+-#    if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
+-#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK
+-#    endif
+-#    if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
+-#      define SWIG_PYTHON_THREAD_END_BLOCK
+-#    endif
+-#    if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
+-#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW
+-#    endif
+-#    if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
+-#      define SWIG_PYTHON_THREAD_END_ALLOW
+-#    endif
+-#  endif
+-#else /* No thread support */
+-#  define SWIG_PYTHON_INITIALIZE_THREADS
+-#  define SWIG_PYTHON_THREAD_BEGIN_BLOCK
+-#  define SWIG_PYTHON_THREAD_END_BLOCK
+-#  define SWIG_PYTHON_THREAD_BEGIN_ALLOW
+-#  define SWIG_PYTHON_THREAD_END_ALLOW
+-#endif
+-
+-/* -----------------------------------------------------------------------------
+- * Python API portion that goes into the runtime
+- * ----------------------------------------------------------------------------- */
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#if 0
+-} /* cc-mode */
+-#endif
+-#endif
+-
+-/* -----------------------------------------------------------------------------
+- * Constant declarations
+- * ----------------------------------------------------------------------------- */
+-
+-/* Constant Types */
+-#define SWIG_PY_POINTER 4
+-#define SWIG_PY_BINARY  5
+-
+-/* Constant information structure */
+-typedef struct swig_const_info {
+-  int type;
+-  char *name;
+-  long lvalue;
+-  double dvalue;
+-  void   *pvalue;
+-  swig_type_info **ptype;
+-} swig_const_info;
+-
+-
+-/* -----------------------------------------------------------------------------
+- * 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 */
+-#endif
+-}
+-#endif
+-
+-
+-/* -----------------------------------------------------------------------------
+- * See the LICENSE file for information on copyright, usage and redistribution
+- * of SWIG, and the README file for authors - http://www.swig.org/release.html.
+- *
+- * pyrun.swg
+- *
+- * This file contains the runtime support for Python modules
+- * and includes code for managing global variables and pointer
+- * type checking.
+- *
+- * ----------------------------------------------------------------------------- */
+-
+-/* Common SWIG API */
+-
+-/* for raw pointers */
+-#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
+-#define SWIG_ConvertPtr(obj, pptr, type, flags)         SWIG_Python_ConvertPtr(obj, pptr, type, flags)
+-#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
+-#define SWIG_NewPointerObj(ptr, type, flags)            SWIG_Python_NewPointerObj(ptr, type, flags)
+-#define SWIG_CheckImplicit(ty)                          SWIG_Python_CheckImplicit(ty) 
+-#define SWIG_AcquirePtr(ptr, src)                       SWIG_Python_AcquirePtr(ptr, src)
+-#define swig_owntype                                    int
+-
+-/* for raw packed data */
+-#define SWIG_ConvertPacked(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
+-#define SWIG_NewPackedObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
+-
+-/* for class or struct pointers */
+-#define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
+-#define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
+-
+-/* for C or C++ function pointers */
+-#define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
+-#define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_Python_NewPointerObj(ptr, type, 0)
+-
+-/* for C++ member pointers, ie, member methods */
+-#define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
+-#define SWIG_NewMemberObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
+-
+-
+-/* Runtime API */
+-
+-#define SWIG_GetModule(clientdata)                      SWIG_Python_GetModule()
+-#define SWIG_SetModule(clientdata, pointer)             SWIG_Python_SetModule(pointer)
+-#define SWIG_NewClientData(obj)                         SwigPyClientData_New(obj)
+-
+-#define SWIG_SetErrorObj                                SWIG_Python_SetErrorObj                            
+-#define SWIG_SetErrorMsg                        	SWIG_Python_SetErrorMsg				   
+-#define SWIG_ErrorType(code)                    	SWIG_Python_ErrorType(code)                        
+-#define SWIG_Error(code, msg)            		SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) 
+-#define SWIG_fail                        		goto fail					   
+-
+-
+-/* Runtime API implementation */
+-
+-/* Error manipulation */
+-
+-SWIGINTERN void 
+-SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
+-  SWIG_PYTHON_THREAD_BEGIN_BLOCK; 
+-  PyErr_SetObject(errtype, obj);
+-  Py_DECREF(obj);
+-  SWIG_PYTHON_THREAD_END_BLOCK;
+-}
+-
+-SWIGINTERN void 
+-SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
+-  SWIG_PYTHON_THREAD_BEGIN_BLOCK;
+-  PyErr_SetString(errtype, (char *) msg);
+-  SWIG_PYTHON_THREAD_END_BLOCK;
+-}
+-
+-#define SWIG_Python_Raise(obj, type, desc)  SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
+-
+-/* Set a constant value */
+-
+-SWIGINTERN void
+-SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {   
+-  PyDict_SetItemString(d, (char*) name, obj);
+-  Py_DECREF(obj);                            
+-}
+-
+-/* Append a value to the result obj */
+-
+-SWIGINTERN PyObject*
+-SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
+-#if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
+-  if (!result) {
+-    result = obj;
+-  } else if (result == Py_None) {
+-    Py_DECREF(result);
+-    result = obj;
+-  } else {
+-    if (!PyList_Check(result)) {
+-      PyObject *o2 = result;
+-      result = PyList_New(1);
+-      PyList_SetItem(result, 0, o2);
+-    }
+-    PyList_Append(result,obj);
+-    Py_DECREF(obj);
+-  }
+-  return result;
+-#else
+-  PyObject*   o2;
+-  PyObject*   o3;
+-  if (!result) {
+-    result = obj;
+-  } else if (result == Py_None) {
+-    Py_DECREF(result);
+-    result = obj;
+-  } else {
+-    if (!PyTuple_Check(result)) {
+-      o2 = result;
+-      result = PyTuple_New(1);
+-      PyTuple_SET_ITEM(result, 0, o2);
+-    }
+-    o3 = PyTuple_New(1);
+-    PyTuple_SET_ITEM(o3, 0, obj);
+-    o2 = result;
+-    result = PySequence_Concat(o2, o3);
+-    Py_DECREF(o2);
+-    Py_DECREF(o3);
+-  }
+-  return result;
+-#endif
+-}
+-
+-/* Unpack the argument tuple */
+-
+-SWIGINTERN int
+-SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
+-{
+-  if (!args) {
+-    if (!min && !max) {
+-      return 1;
+-    } else {
+-      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", 
+-		   name, (min == max ? "" : "at least "), (int)min);
+-      return 0;
+-    }
+-  }  
+-  if (!PyTuple_Check(args)) {
+-    PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
+-    return 0;
+-  } else {
+-    register Py_ssize_t l = PyTuple_GET_SIZE(args);
+-    if (l < min) {
+-      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
+-		   name, (min == max ? "" : "at least "), (int)min, (int)l);
+-      return 0;
+-    } else if (l > max) {
+-      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
+-		   name, (min == max ? "" : "at most "), (int)max, (int)l);
+-      return 0;
+-    } else {
+-      register int i;
+-      for (i = 0; i < l; ++i) {
+-	objs[i] = PyTuple_GET_ITEM(args, i);
+-      }
+-      for (; l < max; ++l) {
+-	objs[l] = 0;
+-      }
+-      return i + 1;
+-    }    
+-  }
+-}
+-
+-/* A functor is a function object with one single object argument */
+-#if PY_VERSION_HEX >= 0x02020000
+-#define SWIG_Python_CallFunctor(functor, obj)	        PyObject_CallFunctionObjArgs(functor, obj, NULL);
+-#else
+-#define SWIG_Python_CallFunctor(functor, obj)	        PyObject_CallFunction(functor, "O", obj);
+-#endif
+-
+-/*
+-  Helper for static pointer initialization for both C and C++ code, for example
+-  static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
+-*/
+-#ifdef __cplusplus
+-#define SWIG_STATIC_POINTER(var)  var
+-#else
+-#define SWIG_STATIC_POINTER(var)  var = 0; if (!var) var
+-#endif
+-
+-/* -----------------------------------------------------------------------------
+- * Pointer declarations
+- * ----------------------------------------------------------------------------- */
+-
+-/* Flags for new pointer objects */
+-#define SWIG_POINTER_NOSHADOW       (SWIG_POINTER_OWN      << 1)
+-#define SWIG_POINTER_NEW            (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
+-
+-#define SWIG_POINTER_IMPLICIT_CONV  (SWIG_POINTER_DISOWN   << 1)
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#if 0
+-} /* cc-mode */
+-#endif
+-#endif
+-
+-/*  How to access Py_None */
+-#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+-#  ifndef SWIG_PYTHON_NO_BUILD_NONE
+-#    ifndef SWIG_PYTHON_BUILD_NONE
+-#      define SWIG_PYTHON_BUILD_NONE
+-#    endif
+-#  endif
+-#endif
+-
+-#ifdef SWIG_PYTHON_BUILD_NONE
+-#  ifdef Py_None
+-#   undef Py_None
+-#   define Py_None SWIG_Py_None()
+-#  endif
+-SWIGRUNTIMEINLINE PyObject * 
+-_SWIG_Py_None(void)
+-{
+-  PyObject *none = Py_BuildValue((char*)"");
+-  Py_DECREF(none);
+-  return none;
+-}
+-SWIGRUNTIME PyObject * 
+-SWIG_Py_None(void)
+-{
+-  static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
+-  return none;
+-}
+-#endif
+-
+-/* The python void return value */
+-
+-SWIGRUNTIMEINLINE PyObject * 
+-SWIG_Py_Void(void)
+-{
+-  PyObject *none = Py_None;
+-  Py_INCREF(none);
+-  return none;
+-}
+-
+-/* SwigPyClientData */
+-
+-typedef struct {
+-  PyObject *klass;
+-  PyObject *newraw;
+-  PyObject *newargs;
+-  PyObject *destroy;
+-  int delargs;
+-  int implicitconv;
+-} SwigPyClientData;
+-
+-SWIGRUNTIMEINLINE int 
+-SWIG_Python_CheckImplicit(swig_type_info *ty)
+-{
+-  SwigPyClientData *data = (SwigPyClientData *)ty->clientdata;
+-  return data ? data->implicitconv : 0;
+-}
+-
+-SWIGRUNTIMEINLINE PyObject *
+-SWIG_Python_ExceptionType(swig_type_info *desc) {
+-  SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0;
+-  PyObject *klass = data ? data->klass : 0;
+-  return (klass ? klass : PyExc_RuntimeError);
+-}
+-
+-
+-SWIGRUNTIME SwigPyClientData * 
+-SwigPyClientData_New(PyObject* obj)
+-{
+-  if (!obj) {
+-    return 0;
+-  } else {
+-    SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData));
+-    /* the klass element */
+-    data->klass = obj;
+-    Py_INCREF(data->klass);
+-    /* the newraw method and newargs arguments used to create a new raw instance */
+-    if (PyClass_Check(obj)) {
+-      data->newraw = 0;
+-      data->newargs = obj;
+-      Py_INCREF(obj);
+-    } else {
+-#if (PY_VERSION_HEX < 0x02020000)
+-      data->newraw = 0;
+-#else
+-      data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
+-#endif
+-      if (data->newraw) {
+-	Py_INCREF(data->newraw);
+-	data->newargs = PyTuple_New(1);
+-	PyTuple_SetItem(data->newargs, 0, obj);
+-      } else {
+-	data->newargs = obj;
+-      }
+-      Py_INCREF(data->newargs);
+-    }
+-    /* the destroy method, aka as the C++ delete method */
+-    data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
+-    if (PyErr_Occurred()) {
+-      PyErr_Clear();
+-      data->destroy = 0;
+-    }
+-    if (data->destroy) {
+-      int flags;
+-      Py_INCREF(data->destroy);
+-      flags = PyCFunction_GET_FLAGS(data->destroy);
+-#ifdef METH_O
+-      data->delargs = !(flags & (METH_O));
+-#else
+-      data->delargs = 0;
+-#endif
+-    } else {
+-      data->delargs = 0;
+-    }
+-    data->implicitconv = 0;
+-    return data;
+-  }
+-}
+-
+-SWIGRUNTIME void 
+-SwigPyClientData_Del(SwigPyClientData* data)
+-{
+-  Py_XDECREF(data->newraw);
+-  Py_XDECREF(data->newargs);
+-  Py_XDECREF(data->destroy);
+-}
+-
+-/* =============== SwigPyObject =====================*/
+-
+-typedef struct {
+-  PyObject_HEAD
+-  void *ptr;
+-  swig_type_info *ty;
+-  int own;
+-  PyObject *next;
+-} SwigPyObject;
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_long(SwigPyObject *v)
+-{
+-  return PyLong_FromVoidPtr(v->ptr);
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_format(const char* fmt, SwigPyObject *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 (ofmt) {
+-#if PY_VERSION_HEX >= 0x03000000
+-	res = PyUnicode_Format(ofmt,args);
+-#else
+-	res = PyString_Format(ofmt,args);
+-#endif
+-	Py_DECREF(ofmt);
+-      }
+-      Py_DECREF(args);
+-    }
+-  }
+-  return res;
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_oct(SwigPyObject *v)
+-{
+-  return SwigPyObject_format("%o",v);
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_hex(SwigPyObject *v)
+-{
+-  return SwigPyObject_format("%x",v);
+-}
+-
+-SWIGRUNTIME PyObject *
+-#ifdef METH_NOARGS
+-SwigPyObject_repr(SwigPyObject *v)
+-#else
+-SwigPyObject_repr(SwigPyObject *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);
+-  if (v->next) {
+-#ifdef METH_NOARGS
+-    PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
+-#else
+-    PyObject *nrep = SwigPyObject_repr((SwigPyObject *)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))
+-{
+-  char *str;
+-#ifdef METH_NOARGS
+-  PyObject *repr = SwigPyObject_repr(v);
+-#else
+-  PyObject *repr = SwigPyObject_repr(v, NULL);
+-#endif
+-  if (repr) {
+-    str = SWIG_Python_str_AsChar(repr); 
+-    fputs(str, fp);
+-    SWIG_Python_str_DelForPy3(str);
+-    Py_DECREF(repr);
+-    return 0; 
+-  } else {
+-    return 1; 
+-  }
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_str(SwigPyObject *v)
+-{
+-  char result[SWIG_BUFFER_SIZE];
+-  return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
+-    SWIG_Python_str_FromChar(result) : 0;
+-}
+-
+-SWIGRUNTIME int
+-SwigPyObject_compare(SwigPyObject *v, SwigPyObject *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) {
+-  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);
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
+-
+-SWIGRUNTIME void
+-SwigPyObject_dealloc(PyObject *v)
+-{
+-  SwigPyObject *sobj = (SwigPyObject *) v;
+-  PyObject *next = sobj->next;
+-  if (sobj->own == SWIG_POINTER_OWN) {
+-    swig_type_info *ty = sobj->ty;
+-    SwigPyClientData *data = ty ? (SwigPyClientData *) 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);
+-	res = SWIG_Python_CallFunctor(destroy, tmp);
+-	Py_DECREF(tmp);
+-      } else {
+-	PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
+-	PyObject *mself = PyCFunction_GET_SELF(destroy);
+-	res = ((*meth)(mself, v));
+-      }
+-      Py_XDECREF(res);
+-    } 
+-#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
+-    else {
+-      const char *name = SWIG_TypePrettyName(ty);
+-      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
+-    }
+-#endif
+-  } 
+-  Py_XDECREF(next);
+-  PyObject_DEL(v);
+-}
+-
+-SWIGRUNTIME PyObject* 
+-SwigPyObject_append(PyObject* v, PyObject* next)
+-{
+-  SwigPyObject *sobj = (SwigPyObject *) v;
+-#ifndef METH_O
+-  PyObject *tmp = 0;
+-  if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
+-  next = tmp;
+-#endif
+-  if (!SwigPyObject_Check(next)) {
+-    return NULL;
+-  }
+-  sobj->next = next;
+-  Py_INCREF(next);
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGRUNTIME PyObject* 
+-#ifdef METH_NOARGS
+-SwigPyObject_next(PyObject* v)
+-#else
+-SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+-#endif
+-{
+-  SwigPyObject *sobj = (SwigPyObject *) v;
+-  if (sobj->next) {    
+-    Py_INCREF(sobj->next);
+-    return sobj->next;
+-  } else {
+-    return SWIG_Py_Void();
+-  }
+-}
+-
+-SWIGINTERN PyObject*
+-#ifdef METH_NOARGS
+-SwigPyObject_disown(PyObject *v)
+-#else
+-SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+-#endif
+-{
+-  SwigPyObject *sobj = (SwigPyObject *)v;
+-  sobj->own = 0;
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject*
+-#ifdef METH_NOARGS
+-SwigPyObject_acquire(PyObject *v)
+-#else
+-SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
+-#endif
+-{
+-  SwigPyObject *sobj = (SwigPyObject *)v;
+-  sobj->own = SWIG_POINTER_OWN;
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject*
+-SwigPyObject_own(PyObject *v, PyObject *args)
+-{
+-  PyObject *val = 0;
+-#if (PY_VERSION_HEX < 0x02020000)
+-  if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
+-#else
+-  if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) 
+-#endif
+-    {
+-      return NULL;
+-    } 
+-  else
+-    {
+-      SwigPyObject *sobj = (SwigPyObject *)v;
+-      PyObject *obj = PyBool_FromLong(sobj->own);
+-      if (val) {
+-#ifdef METH_NOARGS
+-	if (PyObject_IsTrue(val)) {
+-	  SwigPyObject_acquire(v);
+-	} else {
+-	  SwigPyObject_disown(v);
+-	}
+-#else
+-	if (PyObject_IsTrue(val)) {
+-	  SwigPyObject_acquire(v,args);
+-	} else {
+-	  SwigPyObject_disown(v,args);
+-	}
+-#endif
+-      } 
+-      return obj;
+-    }
+-}
+-
+-#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"},
+-  {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"},
+-  {0, 0, 0, 0}  
+-};
+-#endif
+-
+-#if PY_VERSION_HEX < 0x02020000
+-SWIGINTERN PyObject *
+-SwigPyObject_getattr(SwigPyObject *sobj,char *name)
+-{
+-  return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
+-}
+-#endif
+-
+-SWIGRUNTIME PyTypeObject*
+-_PySwigObject_type(void) {
+-  static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
+-  
+-  static PyNumberMethods SwigPyObject_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*/
+-    (unaryfunc)0,  /*nb_negative*/
+-    (unaryfunc)0,  /*nb_positive*/
+-    (unaryfunc)0,  /*nb_absolute*/
+-    (inquiry)0,    /*nb_nonzero*/
+-    0,		   /*nb_invert*/
+-    0,		   /*nb_lshift*/
+-    0,		   /*nb_rshift*/
+-    0,		   /*nb_and*/
+-    0,		   /*nb_xor*/
+-    0,		   /*nb_or*/
+-#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
+-    (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 */
+-    0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
+-#endif
+-  };
+-
+-  static PyTypeObject swigpyobject_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 */
+-	0,			            /* tp_itemsize */
+-	(destructor)SwigPyObject_dealloc,   /* tp_dealloc */
+-	(printfunc)SwigPyObject_print,	    /* tp_print */
+-#if PY_VERSION_HEX < 0x02020000
+-	(getattrfunc)SwigPyObject_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 */
+-	0,				    /* tp_as_sequence */
+-	0,				    /* tp_as_mapping */
+-	(hashfunc)0,			    /* tp_hash */
+-	(ternaryfunc)0,			    /* tp_call */
+-	(reprfunc)SwigPyObject_str,	    /* tp_str */
+-	PyObject_GenericGetAttr,            /* tp_getattro */
+-	0,				    /* tp_setattro */
+-	0,		                    /* tp_as_buffer */
+-	Py_TPFLAGS_DEFAULT,	            /* tp_flags */
+-	swigobject_doc, 	            /* tp_doc */        
+-	0,                                  /* tp_traverse */
+-	0,                                  /* tp_clear */
+-	(richcmpfunc)SwigPyObject_richcompare,           /* tp_richcompare */
+-	0,                                  /* tp_weaklistoffset */
+-#if PY_VERSION_HEX >= 0x02020000
+-	0,                                  /* tp_iter */
+-	0,                                  /* tp_iternext */
+-	swigobject_methods,		    /* tp_methods */ 
+-	0,			            /* tp_members */
+-	0,				    /* tp_getset */	    	
+-	0,			            /* tp_base */	        
+-	0,				    /* tp_dict */	    	
+-	0,				    /* tp_descr_get */  	
+-	0,				    /* tp_descr_set */  	
+-	0,				    /* tp_dictoffset */ 	
+-	0,				    /* tp_init */	    	
+-	0,				    /* tp_alloc */	    	
+-	0,			            /* tp_new */	    	
+-	0,	                            /* tp_free */	   
+-	0,                                  /* tp_is_gc */  
+-	0,				    /* tp_bases */   
+-	0,				    /* tp_mro */
+-	0,				    /* tp_cache */   
+-	0,				    /* tp_subclasses */
+-	0,				    /* tp_weaklist */
+-#endif
+-#if PY_VERSION_HEX >= 0x02030000
+-	0,                                  /* tp_del */
+-#endif
+-#ifdef COUNT_ALLOCS
+-	0,0,0,0                             /* tp_alloc -> tp_next */
+-#endif
+-      };
+-    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
+-    type_init = 1;
+-  }
+-  return &swigpyobject_type;
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
+-{
+-  SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type());
+-  if (sobj) {
+-    sobj->ptr  = ptr;
+-    sobj->ty   = ty;
+-    sobj->own  = own;
+-    sobj->next = 0;
+-  }
+-  return (PyObject *)sobj;
+-}
+-
+-/* -----------------------------------------------------------------------------
+- * Implements a simple Swig Packed type, and use it instead of string
+- * ----------------------------------------------------------------------------- */
+-
+-typedef struct {
+-  PyObject_HEAD
+-  void *pack;
+-  swig_type_info *ty;
+-  size_t size;
+-} SwigPyPacked;
+-
+-SWIGRUNTIME int
+-SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
+-{
+-  char result[SWIG_BUFFER_SIZE];
+-  fputs("<Swig Packed ", fp); 
+-  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+-    fputs("at ", fp); 
+-    fputs(result, fp); 
+-  }
+-  fputs(v->ty->name,fp); 
+-  fputs(">", fp);
+-  return 0; 
+-}
+-  
+-SWIGRUNTIME PyObject *
+-SwigPyPacked_repr(SwigPyPacked *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);
+-  } else {
+-    return SWIG_Python_str_FromFormat("<Swig Packed %s>", v->ty->name);
+-  }  
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyPacked_str(SwigPyPacked *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);
+-  } else {
+-    return SWIG_Python_str_FromChar(v->ty->name);
+-  }  
+-}
+-
+-SWIGRUNTIME int
+-SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
+-{
+-  size_t i = v->size;
+-  size_t j = w->size;
+-  int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
+-  return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
+-}
+-
+-SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
+-
+-SWIGRUNTIME PyTypeObject*
+-SwigPyPacked_type(void) {
+-  static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
+-  return type;
+-}
+-
+-SWIGRUNTIMEINLINE int
+-SwigPyPacked_Check(PyObject *op) {
+-  return ((op)->ob_type == _PySwigPacked_type()) 
+-    || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0);
+-}
+-
+-SWIGRUNTIME void
+-SwigPyPacked_dealloc(PyObject *v)
+-{
+-  if (SwigPyPacked_Check(v)) {
+-    SwigPyPacked *sobj = (SwigPyPacked *) v;
+-    free(sobj->pack);
+-  }
+-  PyObject_DEL(v);
+-}
+-
+-SWIGRUNTIME PyTypeObject*
+-_PySwigPacked_type(void) {
+-  static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
+-  static PyTypeObject swigpypacked_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,				    /* tp_itemsize */	
+-	(destructor)SwigPyPacked_dealloc,   /* tp_dealloc */	
+-	(printfunc)SwigPyPacked_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 */
+-	0,				    /* tp_as_sequence */
+-	0,				    /* tp_as_mapping */
+-	(hashfunc)0,			    /* tp_hash */
+-	(ternaryfunc)0,			    /* tp_call */
+-	(reprfunc)SwigPyPacked_str,	    /* tp_str */
+-	PyObject_GenericGetAttr,            /* tp_getattro */
+-	0,				    /* tp_setattro */
+-	0,		                    /* tp_as_buffer */
+-	Py_TPFLAGS_DEFAULT,	            /* tp_flags */
+-	swigpacked_doc, 	            /* tp_doc */
+-	0,                                  /* tp_traverse */
+-	0,                                  /* tp_clear */
+-	0,                                  /* tp_richcompare */
+-	0,                                  /* tp_weaklistoffset */
+-#if PY_VERSION_HEX >= 0x02020000
+-	0,                                  /* tp_iter */
+-	0,                                  /* tp_iternext */
+-	0,		                    /* tp_methods */ 
+-	0,			            /* tp_members */
+-	0,				    /* tp_getset */	    	
+-	0,			            /* tp_base */	        
+-	0,				    /* tp_dict */	    	
+-	0,				    /* tp_descr_get */  	
+-	0,				    /* tp_descr_set */  	
+-	0,				    /* tp_dictoffset */ 	
+-	0,				    /* tp_init */	    	
+-	0,				    /* tp_alloc */	    	
+-	0,			            /* tp_new */	    	
+-	0, 	                            /* tp_free */	   
+-        0,                                  /* tp_is_gc */  
+-	0,				    /* tp_bases */   
+-	0,				    /* tp_mro */
+-	0,				    /* tp_cache */   
+- 	0,				    /* tp_subclasses */
+-	0,				    /* tp_weaklist */
+-#endif
+-#if PY_VERSION_HEX >= 0x02030000
+-	0,                                  /* tp_del */
+-#endif
+-#ifdef COUNT_ALLOCS
+-	0,0,0,0                             /* tp_alloc -> tp_next */
+-#endif
+-      };
+-    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
+-    type_init = 1;
+-  }
+-  return &swigpypacked_type;
+-}
+-
+-SWIGRUNTIME PyObject *
+-SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
+-{
+-  SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type());
+-  if (sobj) {
+-    void *pack = malloc(size);
+-    if (pack) {
+-      memcpy(pack, ptr, size);
+-      sobj->pack = pack;
+-      sobj->ty   = ty;
+-      sobj->size = size;
+-    } else {
+-      PyObject_DEL((PyObject *) sobj);
+-      sobj = 0;
+-    }
+-  }
+-  return (PyObject *) sobj;
+-}
+-
+-SWIGRUNTIME swig_type_info *
+-SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
+-{
+-  if (SwigPyPacked_Check(obj)) {
+-    SwigPyPacked *sobj = (SwigPyPacked *)obj;
+-    if (sobj->size != size) return 0;
+-    memcpy(ptr, sobj->pack, size);
+-    return sobj->ty;
+-  } else {
+-    return 0;
+-  }
+-}
+-
+-/* -----------------------------------------------------------------------------
+- * pointers/data manipulation
+- * ----------------------------------------------------------------------------- */
+-
+-SWIGRUNTIMEINLINE PyObject *
+-_SWIG_This(void)
+-{
+-    return SWIG_Python_str_FromChar("this");
+-}
+-
+-SWIGRUNTIME PyObject *
+-SWIG_This(void)
+-{
+-  static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
+-  return swig_this;
+-}
+-
+-/* #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 *
+-SWIG_Python_GetSwigThis(PyObject *pyobj) 
+-{
+-  if (SwigPyObject_Check(pyobj)) {
+-    return (SwigPyObject *) pyobj;
+-  } else {
+-    PyObject *obj = 0;
+-#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
+-    if (PyInstance_Check(pyobj)) {
+-      obj = _PyInstance_Lookup(pyobj, SWIG_This());      
+-    } else {
+-      PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
+-      if (dictptr != NULL) {
+-	PyObject *dict = *dictptr;
+-	obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
+-      } else {
+-#ifdef PyWeakref_CheckProxy
+-	if (PyWeakref_CheckProxy(pyobj)) {
+-	  PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
+-	  return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
+-	}
+-#endif
+-	obj = PyObject_GetAttr(pyobj,SWIG_This());
+-	if (obj) {
+-	  Py_DECREF(obj);
+-	} else {
+-	  if (PyErr_Occurred()) PyErr_Clear();
+-	  return 0;
+-	}
+-      }
+-    }
+-#else
+-    obj = PyObject_GetAttr(pyobj,SWIG_This());
+-    if (obj) {
+-      Py_DECREF(obj);
+-    } else {
+-      if (PyErr_Occurred()) PyErr_Clear();
+-      return 0;
+-    }
+-#endif
+-    if (obj && !SwigPyObject_Check(obj)) {
+-      /* a PyObject is called 'this', try to get the 'real this'
+-	 SwigPyObject from it */ 
+-      return SWIG_Python_GetSwigThis(obj);
+-    }
+-    return (SwigPyObject *)obj;
+-  }
+-}
+-
+-/* Acquire a pointer value */
+-
+-SWIGRUNTIME int
+-SWIG_Python_AcquirePtr(PyObject *obj, int own) {
+-  if (own == SWIG_POINTER_OWN) {
+-    SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
+-    if (sobj) {
+-      int oldown = sobj->own;
+-      sobj->own = own;
+-      return oldown;
+-    }
+-  }
+-  return 0;
+-}
+-
+-/* Convert a pointer value */
+-
+-SWIGRUNTIME int
+-SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
+-  if (!obj) return SWIG_ERROR;
+-  if (obj == Py_None) {
+-    if (ptr) *ptr = 0;
+-    return SWIG_OK;
+-  } else {
+-    SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj);
+-    if (own)
+-      *own = 0;
+-    while (sobj) {
+-      void *vptr = sobj->ptr;
+-      if (ty) {
+-	swig_type_info *to = sobj->ty;
+-	if (to == ty) {
+-	  /* no type cast needed */
+-	  if (ptr) *ptr = vptr;
+-	  break;
+-	} else {
+-	  swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
+-	  if (!tc) {
+-	    sobj = (SwigPyObject *)sobj->next;
+-	  } else {
+-	    if (ptr) {
+-              int newmemory = 0;
+-              *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+-              if (newmemory == SWIG_CAST_NEW_MEMORY) {
+-                assert(own);
+-                if (own)
+-                  *own = *own | SWIG_CAST_NEW_MEMORY;
+-              }
+-            }
+-	    break;
+-	  }
+-	}
+-      } else {
+-	if (ptr) *ptr = vptr;
+-	break;
+-      }
+-    }
+-    if (sobj) {
+-      if (own)
+-        *own = *own | sobj->own;
+-      if (flags & SWIG_POINTER_DISOWN) {
+-	sobj->own = 0;
+-      }
+-      return SWIG_OK;
+-    } else {
+-      int res = SWIG_ERROR;
+-      if (flags & SWIG_POINTER_IMPLICIT_CONV) {
+-	SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
+-	if (data && !data->implicitconv) {
+-	  PyObject *klass = data->klass;
+-	  if (klass) {
+-	    PyObject *impconv;
+-	    data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
+-	    impconv = SWIG_Python_CallFunctor(klass, obj);
+-	    data->implicitconv = 0;
+-	    if (PyErr_Occurred()) {
+-	      PyErr_Clear();
+-	      impconv = 0;
+-	    }
+-	    if (impconv) {
+-	      SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv);
+-	      if (iobj) {
+-		void *vptr;
+-		res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
+-		if (SWIG_IsOK(res)) {
+-		  if (ptr) {
+-		    *ptr = vptr;
+-		    /* transfer the ownership to 'ptr' */
+-		    iobj->own = 0;
+-		    res = SWIG_AddCast(res);
+-		    res = SWIG_AddNewMask(res);
+-		  } else {
+-		    res = SWIG_AddCast(res);		    
+-		  }
+-		}
+-	      }
+-	      Py_DECREF(impconv);
+-	    }
+-	  }
+-	}
+-      }
+-      return res;
+-    }
+-  }
+-}
+-
+-/* Convert a function ptr value */
+-
+-SWIGRUNTIME int
+-SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
+-  if (!PyCFunction_Check(obj)) {
+-    return SWIG_ConvertPtr(obj, ptr, ty, 0);
+-  } else {
+-    void *vptr = 0;
+-    
+-    /* here we get the method pointer for callbacks */
+-    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+-    const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
+-    if (desc)
+-      desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
+-    if (!desc) 
+-      return SWIG_ERROR;
+-    if (ty) {
+-      swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
+-      if (tc) {
+-        int newmemory = 0;
+-        *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+-        assert(!newmemory); /* newmemory handling not yet implemented */
+-      } else {
+-        return SWIG_ERROR;
+-      }
+-    } else {
+-      *ptr = vptr;
+-    }
+-    return SWIG_OK;
+-  }
+-}
+-
+-/* Convert a packed value value */
+-
+-SWIGRUNTIME int
+-SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
+-  swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz);
+-  if (!to) return SWIG_ERROR;
+-  if (ty) {
+-    if (to != ty) {
+-      /* check type cast? */
+-      swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
+-      if (!tc) return SWIG_ERROR;
+-    }
+-  }
+-  return SWIG_OK;
+-}  
+-
+-/* -----------------------------------------------------------------------------
+- * Create a new pointer object
+- * ----------------------------------------------------------------------------- */
+-
+-/*
+-  Create a new instance object, without calling __init__, and set the
+-  'this' attribute.
+-*/
+-
+-SWIGRUNTIME PyObject* 
+-SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
+-{
+-#if (PY_VERSION_HEX >= 0x02020000)
+-  PyObject *inst = 0;
+-  PyObject *newraw = data->newraw;
+-  if (newraw) {
+-    inst = PyObject_Call(newraw, data->newargs, NULL);
+-    if (inst) {
+-#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+-      PyObject **dictptr = _PyObject_GetDictPtr(inst);
+-      if (dictptr != NULL) {
+-	PyObject *dict = *dictptr;
+-	if (dict == NULL) {
+-	  dict = PyDict_New();
+-	  *dictptr = dict;
+-	  PyDict_SetItem(dict, SWIG_This(), swig_this);
+-	}
+-      }
+-#else
+-      PyObject *key = SWIG_This();
+-      PyObject_SetAttr(inst, key, swig_this);
+-#endif
+-    }
+-  } else {
+-#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
+-#if (PY_VERSION_HEX >= 0x02010000)
+-  PyObject *inst;
+-  PyObject *dict = PyDict_New();
+-  PyDict_SetItem(dict, SWIG_This(), swig_this);
+-  inst = PyInstance_NewRaw(data->newargs, dict);
+-  Py_DECREF(dict);
+-  return (PyObject *) inst;
+-#else
+-  PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
+-  if (inst == NULL) {
+-    return NULL;
+-  }
+-  inst->in_class = (PyClassObject *)data->newargs;
+-  Py_INCREF(inst->in_class);
+-  inst->in_dict = PyDict_New();
+-  if (inst->in_dict == NULL) {
+-    Py_DECREF(inst);
+-    return NULL;
+-  }
+-#ifdef Py_TPFLAGS_HAVE_WEAKREFS
+-  inst->in_weakreflist = NULL;
+-#endif
+-#ifdef Py_TPFLAGS_GC
+-  PyObject_GC_Init(inst);
+-#endif
+-  PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
+-  return (PyObject *) inst;
+-#endif
+-#endif
+-}
+-
+-SWIGRUNTIME void
+-SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
+-{
+- PyObject *dict;
+-#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+- PyObject **dictptr = _PyObject_GetDictPtr(inst);
+- if (dictptr != NULL) {
+-   dict = *dictptr;
+-   if (dict == NULL) {
+-     dict = PyDict_New();
+-     *dictptr = dict;
+-   }
+-   PyDict_SetItem(dict, SWIG_This(), swig_this);
+-   return;
+- }
+-#endif
+- dict = PyObject_GetAttrString(inst, (char*)"__dict__");
+- PyDict_SetItem(dict, SWIG_This(), swig_this);
+- Py_DECREF(dict);
+-} 
+-
+-
+-SWIGINTERN PyObject *
+-SWIG_Python_InitShadowInstance(PyObject *args) {
+-  PyObject *obj[2];
+-  if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
+-    return NULL;
+-  } else {
+-    SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
+-    if (sthis) {
+-      SwigPyObject_append((PyObject*) sthis, obj[1]);
+-    } else {
+-      SWIG_Python_SetSwigThis(obj[0], obj[1]);
+-    }
+-    return SWIG_Py_Void();
+-  }
+-}
+-
+-/* Create a new pointer object */
+-
+-SWIGRUNTIME PyObject *
+-SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
+-  if (!ptr) {
+-    return SWIG_Py_Void();
+-  } else {
+-    int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
+-    PyObject *robj = SwigPyObject_New(ptr, type, own);
+-    SwigPyClientData *clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0;
+-    if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
+-      PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
+-      if (inst) {
+-	Py_DECREF(robj);
+-	robj = inst;
+-      }
+-    }
+-    return robj;
+-  }
+-}
+-
+-/* Create a new packed object */
+-
+-SWIGRUNTIMEINLINE PyObject *
+-SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
+-  return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
+-}
+-
+-/* -----------------------------------------------------------------------------*
+- *  Get type list 
+- * -----------------------------------------------------------------------------*/
+-
+-#ifdef SWIG_LINK_RUNTIME
+-void *SWIG_ReturnGlobalTypeList(void *);
+-#endif
+-
+-SWIGRUNTIME swig_module_info *
+-SWIG_Python_GetModule(void) {
+-  static void *type_pointer = (void *)0;
+-  /* first check if module already created */
+-  if (!type_pointer) {
+-#ifdef SWIG_LINK_RUNTIME
+-    type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
+-#else
+-    type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+-				    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
+-    if (PyErr_Occurred()) {
+-      PyErr_Clear();
+-      type_pointer = (void *)0;
+-    }
+-#endif
+-  }
+-  return (swig_module_info *) type_pointer;
+-}
+-
+-#if PY_MAJOR_VERSION < 2
+-/* PyModule_AddObject function was introduced in Python 2.0.  The following function
+-   is copied out of Python/modsupport.c in python version 2.3.4 */
+-SWIGINTERN int
+-PyModule_AddObject(PyObject *m, char *name, PyObject *o)
+-{
+-  PyObject *dict;
+-  if (!PyModule_Check(m)) {
+-    PyErr_SetString(PyExc_TypeError,
+-		    "PyModule_AddObject() needs module as first arg");
+-    return SWIG_ERROR;
+-  }
+-  if (!o) {
+-    PyErr_SetString(PyExc_TypeError,
+-		    "PyModule_AddObject() needs non-NULL value");
+-    return SWIG_ERROR;
+-  }
+-  
+-  dict = PyModule_GetDict(m);
+-  if (dict == NULL) {
+-    /* Internal error -- modules must have a dict! */
+-    PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
+-		 PyModule_GetName(m));
+-    return SWIG_ERROR;
+-  }
+-  if (PyDict_SetItemString(dict, name, o))
+-    return SWIG_ERROR;
+-  Py_DECREF(o);
+-  return SWIG_OK;
+-}
+-#endif
+-
+-SWIGRUNTIME void
+-SWIG_Python_DestroyModule(void *vptr)
+-{
+-  swig_module_info *swig_module = (swig_module_info *) vptr;
+-  swig_type_info **types = swig_module->types;
+-  size_t i;
+-  for (i =0; i < swig_module->size; ++i) {
+-    swig_type_info *ty = types[i];
+-    if (ty->owndata) {
+-      SwigPyClientData *data = (SwigPyClientData *) ty->clientdata;
+-      if (data) SwigPyClientData_Del(data);
+-    }
+-  }
+-  Py_DECREF(SWIG_This());
+-}
+-
+-SWIGRUNTIME void
+-SWIG_Python_SetModule(swig_module_info *swig_module) {
+-  static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
+-
+-#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);
+-  } else {
+-    Py_XDECREF(pointer);
+-  }
+-}
+-
+-/* The python cached type query */
+-SWIGRUNTIME PyObject *
+-SWIG_Python_TypeCache(void) {
+-  static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
+-  return cache;
+-}
+-
+-SWIGRUNTIME swig_type_info *
+-SWIG_Python_TypeQuery(const char *type)
+-{
+-  PyObject *cache = SWIG_Python_TypeCache();
+-  PyObject *key = SWIG_Python_str_FromChar(type); 
+-  PyObject *obj = PyDict_GetItem(cache, key);
+-  swig_type_info *descriptor;
+-  if (obj) {
+-    descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
+-  } else {
+-    swig_module_info *swig_module = SWIG_Python_GetModule();
+-    descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
+-    if (descriptor) {
+-      obj = PyCObject_FromVoidPtr(descriptor, NULL);
+-      PyDict_SetItem(cache, key, obj);
+-      Py_DECREF(obj);
+-    }
+-  }
+-  Py_DECREF(key);
+-  return descriptor;
+-}
+-
+-/* 
+-   For backward compatibility only
+-*/
+-#define SWIG_POINTER_EXCEPTION  0
+-#define SWIG_arg_fail(arg)      SWIG_Python_ArgFail(arg)
+-#define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+-
+-SWIGRUNTIME int
+-SWIG_Python_AddErrMesg(const char* mesg, int infront)
+-{  
+-  if (PyErr_Occurred()) {
+-    PyObject *type = 0;
+-    PyObject *value = 0;
+-    PyObject *traceback = 0;
+-    PyErr_Fetch(&type, &value, &traceback);
+-    if (value) {
+-      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));
+-      } else {
+-	PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
+-      }
+-      SWIG_Python_str_DelForPy3(tmp);
+-      Py_DECREF(old_str);
+-    }
+-    return 1;
+-  } else {
+-    return 0;
+-  }
+-}
+-  
+-SWIGRUNTIME int
+-SWIG_Python_ArgFail(int argnum)
+-{
+-  if (PyErr_Occurred()) {
+-    /* add information about failing argument */
+-    char mesg[256];
+-    PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
+-    return SWIG_Python_AddErrMesg(mesg, 1);
+-  } else {
+-    return 0;
+-  }
+-}
+-
+-SWIGRUNTIMEINLINE const char *
+-SwigPyObject_GetDesc(PyObject *self)
+-{
+-  SwigPyObject *v = (SwigPyObject *)self;
+-  swig_type_info *ty = v ? v->ty : 0;
+-  return ty ? ty->str : (char*)"";
+-}
+-
+-SWIGRUNTIME void
+-SWIG_Python_TypeError(const char *type, PyObject *obj)
+-{
+-  if (type) {
+-#if defined(SWIG_COBJECT_TYPES)
+-    if (obj && SwigPyObject_Check(obj)) {
+-      const char *otype = (const char *) SwigPyObject_GetDesc(obj);
+-      if (otype) {
+-	PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received",
+-		     type, otype);
+-	return;
+-      }
+-    } else 
+-#endif      
+-    {
+-      const char *otype = (obj ? obj->ob_type->tp_name : 0); 
+-      if (otype) {
+-	PyObject *str = PyObject_Str(obj);
+-	const char *cstr = str ? SWIG_Python_str_AsChar(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);
+-	}
+-	Py_XDECREF(str);
+-	return;
+-      }
+-    }   
+-    PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
+-  } else {
+-    PyErr_Format(PyExc_TypeError, "unexpected type is received");
+-  }
+-}
+-
+-
+-/* Convert a pointer value, signal an exception on a type mismatch */
+-SWIGRUNTIME void *
+-SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
+-  void *result;
+-  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
+-    PyErr_Clear();
+-#if SWIG_POINTER_EXCEPTION
+-    if (flags) {
+-      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+-      SWIG_Python_ArgFail(argnum);
+-    }
+-#endif
+-  }
+-  return result;
+-}
+-
+-
+-#ifdef __cplusplus
+-#if 0
+-{ /* cc-mode */
+-#endif
+-}
+-#endif
+-
+-
+-
+-#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) 
+-
+-#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else 
+-
+-
+-
+-/* -------- TYPES TABLE (BEGIN) -------- */
+-
+-#define SWIGTYPE_p_BYTE swig_types[0]
+-#define SWIGTYPE_p_CSG_Array swig_types[1]
+-#define SWIGTYPE_p_CSG_Buffer swig_types[2]
+-#define SWIGTYPE_p_CSG_Bytes swig_types[3]
+-#define SWIGTYPE_p_CSG_Bytes_Array swig_types[4]
+-#define SWIGTYPE_p_CSG_Class_Statistics swig_types[5]
+-#define SWIGTYPE_p_CSG_Cluster_Analysis swig_types[6]
+-#define SWIGTYPE_p_CSG_Colors swig_types[7]
+-#define SWIGTYPE_p_CSG_Data_Object swig_types[8]
+-#define SWIGTYPE_p_CSG_Distance_Weighting swig_types[9]
+-#define SWIGTYPE_p_CSG_File swig_types[10]
+-#define SWIGTYPE_p_CSG_Formula swig_types[11]
+-#define SWIGTYPE_p_CSG_Formula_TSG_Formula_Item swig_types[12]
+-#define SWIGTYPE_p_CSG_Grid swig_types[13]
+-#define SWIGTYPE_p_CSG_Grid_Cell_Addressor swig_types[14]
+-#define SWIGTYPE_p_CSG_Grid_Pyramid swig_types[15]
+-#define SWIGTYPE_p_CSG_Grid_Radius swig_types[16]
+-#define SWIGTYPE_p_CSG_Grid_Stack swig_types[17]
+-#define SWIGTYPE_p_CSG_Grid_System swig_types[18]
+-#define SWIGTYPE_p_CSG_Index swig_types[19]
+-#define SWIGTYPE_p_CSG_Matrix swig_types[20]
+-#define SWIGTYPE_p_CSG_MetaData swig_types[21]
+-#define SWIGTYPE_p_CSG_Module swig_types[22]
+-#define SWIGTYPE_p_CSG_Module_Grid swig_types[23]
+-#define SWIGTYPE_p_CSG_Module_Grid_Interactive swig_types[24]
+-#define SWIGTYPE_p_CSG_Module_Interactive swig_types[25]
+-#define SWIGTYPE_p_CSG_Module_Interactive_Base swig_types[26]
+-#define SWIGTYPE_p_CSG_Module_Library swig_types[27]
+-#define SWIGTYPE_p_CSG_Module_Library_Interface swig_types[28]
+-#define SWIGTYPE_p_CSG_PRQuadTree swig_types[29]
+-#define SWIGTYPE_p_CSG_PRQuadTree_Item swig_types[30]
+-#define SWIGTYPE_p_CSG_PRQuadTree_Leaf swig_types[31]
+-#define SWIGTYPE_p_CSG_PRQuadTree_Node swig_types[32]
+-#define SWIGTYPE_p_CSG_Parameter swig_types[33]
+-#define SWIGTYPE_p_CSG_Parameter_Bool swig_types[34]
+-#define SWIGTYPE_p_CSG_Parameter_Choice swig_types[35]
+-#define SWIGTYPE_p_CSG_Parameter_Color swig_types[36]
+-#define SWIGTYPE_p_CSG_Parameter_Colors swig_types[37]
+-#define SWIGTYPE_p_CSG_Parameter_Data swig_types[38]
+-#define SWIGTYPE_p_CSG_Parameter_Data_Object swig_types[39]
+-#define SWIGTYPE_p_CSG_Parameter_Data_Object_Output swig_types[40]
+-#define SWIGTYPE_p_CSG_Parameter_Degree swig_types[41]
+-#define SWIGTYPE_p_CSG_Parameter_Double swig_types[42]
+-#define SWIGTYPE_p_CSG_Parameter_File_Name swig_types[43]
+-#define SWIGTYPE_p_CSG_Parameter_Fixed_Table swig_types[44]
+-#define SWIGTYPE_p_CSG_Parameter_Font swig_types[45]
+-#define SWIGTYPE_p_CSG_Parameter_Grid swig_types[46]
+-#define SWIGTYPE_p_CSG_Parameter_Grid_List swig_types[47]
+-#define SWIGTYPE_p_CSG_Parameter_Grid_System swig_types[48]
+-#define SWIGTYPE_p_CSG_Parameter_Int swig_types[49]
+-#define SWIGTYPE_p_CSG_Parameter_List swig_types[50]
+-#define SWIGTYPE_p_CSG_Parameter_Node swig_types[51]
+-#define SWIGTYPE_p_CSG_Parameter_Parameters swig_types[52]
+-#define SWIGTYPE_p_CSG_Parameter_PointCloud swig_types[53]
+-#define SWIGTYPE_p_CSG_Parameter_PointCloud_List swig_types[54]
+-#define SWIGTYPE_p_CSG_Parameter_Range swig_types[55]
+-#define SWIGTYPE_p_CSG_Parameter_Shapes swig_types[56]
+-#define SWIGTYPE_p_CSG_Parameter_Shapes_List swig_types[57]
+-#define SWIGTYPE_p_CSG_Parameter_String swig_types[58]
+-#define SWIGTYPE_p_CSG_Parameter_TIN swig_types[59]
+-#define SWIGTYPE_p_CSG_Parameter_TIN_List swig_types[60]
+-#define SWIGTYPE_p_CSG_Parameter_Table swig_types[61]
+-#define SWIGTYPE_p_CSG_Parameter_Table_Field swig_types[62]
+-#define SWIGTYPE_p_CSG_Parameter_Table_List swig_types[63]
+-#define SWIGTYPE_p_CSG_Parameter_Text swig_types[64]
+-#define SWIGTYPE_p_CSG_Parameter_Value swig_types[65]
+-#define SWIGTYPE_p_CSG_Parameters swig_types[66]
+-#define SWIGTYPE_p_CSG_Parameters_Grid_Target swig_types[67]
+-#define SWIGTYPE_p_CSG_Point swig_types[68]
+-#define SWIGTYPE_p_CSG_PointCloud swig_types[69]
+-#define SWIGTYPE_p_CSG_Point_Z swig_types[70]
+-#define SWIGTYPE_p_CSG_Point_ZM swig_types[71]
+-#define SWIGTYPE_p_CSG_Points swig_types[72]
+-#define SWIGTYPE_p_CSG_Points_Int swig_types[73]
+-#define SWIGTYPE_p_CSG_Points_Z swig_types[74]
+-#define SWIGTYPE_p_CSG_Projection swig_types[75]
+-#define SWIGTYPE_p_CSG_Projections swig_types[76]
+-#define SWIGTYPE_p_CSG_Rect swig_types[77]
+-#define SWIGTYPE_p_CSG_Rects swig_types[78]
+-#define SWIGTYPE_p_CSG_Regression swig_types[79]
+-#define SWIGTYPE_p_CSG_Regression_Multiple swig_types[80]
+-#define SWIGTYPE_p_CSG_Shape swig_types[81]
+-#define SWIGTYPE_p_CSG_Shape_Line swig_types[82]
+-#define SWIGTYPE_p_CSG_Shape_Part swig_types[83]
+-#define SWIGTYPE_p_CSG_Shape_Part_Z swig_types[84]
+-#define SWIGTYPE_p_CSG_Shape_Part_ZM swig_types[85]
+-#define SWIGTYPE_p_CSG_Shape_Point swig_types[86]
+-#define SWIGTYPE_p_CSG_Shape_Point_Z swig_types[87]
+-#define SWIGTYPE_p_CSG_Shape_Point_ZM swig_types[88]
+-#define SWIGTYPE_p_CSG_Shape_Points swig_types[89]
+-#define SWIGTYPE_p_CSG_Shape_Polygon swig_types[90]
+-#define SWIGTYPE_p_CSG_Shape_Polygon_Part swig_types[91]
+-#define SWIGTYPE_p_CSG_Shapes swig_types[92]
+-#define SWIGTYPE_p_CSG_Shapes_OGIS_Converter swig_types[93]
+-#define SWIGTYPE_p_CSG_Shapes_Search swig_types[94]
+-#define SWIGTYPE_p_CSG_Simple_Statistics swig_types[95]
+-#define SWIGTYPE_p_CSG_Spline swig_types[96]
+-#define SWIGTYPE_p_CSG_Stack swig_types[97]
+-#define SWIGTYPE_p_CSG_String swig_types[98]
+-#define SWIGTYPE_p_CSG_Strings swig_types[99]
+-#define SWIGTYPE_p_CSG_TIN swig_types[100]
+-#define SWIGTYPE_p_CSG_TIN_Edge swig_types[101]
+-#define SWIGTYPE_p_CSG_TIN_Node swig_types[102]
+-#define SWIGTYPE_p_CSG_TIN_Triangle swig_types[103]
+-#define SWIGTYPE_p_CSG_Table swig_types[104]
+-#define SWIGTYPE_p_CSG_Table_Record swig_types[105]
+-#define SWIGTYPE_p_CSG_Table_Value swig_types[106]
+-#define SWIGTYPE_p_CSG_Table_Value_Binary swig_types[107]
+-#define SWIGTYPE_p_CSG_Table_Value_Date swig_types[108]
+-#define SWIGTYPE_p_CSG_Table_Value_Double swig_types[109]
+-#define SWIGTYPE_p_CSG_Table_Value_Int swig_types[110]
+-#define SWIGTYPE_p_CSG_Table_Value_String swig_types[111]
+-#define SWIGTYPE_p_CSG_Thin_Plate_Spline swig_types[112]
+-#define SWIGTYPE_p_CSG_Translator swig_types[113]
+-#define SWIGTYPE_p_CSG_Trend swig_types[114]
+-#define SWIGTYPE_p_CSG_UI_Parameter swig_types[115]
+-#define SWIGTYPE_p_CSG_Vector swig_types[116]
+-#define SWIGTYPE_p_DWORD swig_types[117]
+-#define SWIGTYPE_p_ESG_Array_Growth swig_types[118]
+-#define SWIGTYPE_p_ESG_Data_Object_Type swig_types[119]
+-#define SWIGTYPE_p_ESG_Data_Type swig_types[120]
+-#define SWIGTYPE_p_ESG_Distance_Weighting swig_types[121]
+-#define SWIGTYPE_p_ESG_Grid_File_Format swig_types[122]
+-#define SWIGTYPE_p_ESG_Grid_File_Key swig_types[123]
+-#define SWIGTYPE_p_ESG_Grid_Interpolation swig_types[124]
+-#define SWIGTYPE_p_ESG_Grid_Memory_Type swig_types[125]
+-#define SWIGTYPE_p_ESG_Grid_Operation swig_types[126]
+-#define SWIGTYPE_p_ESG_Grid_Pyramid_Generalisation swig_types[127]
+-#define SWIGTYPE_p_ESG_Grid_Pyramid_Grow_Type swig_types[128]
+-#define SWIGTYPE_p_ESG_Intersection swig_types[129]
+-#define SWIGTYPE_p_ESG_MLB_Info swig_types[130]
+-#define SWIGTYPE_p_ESG_Module_Error swig_types[131]
+-#define SWIGTYPE_p_ESG_Module_Interactive_DragMode swig_types[132]
+-#define SWIGTYPE_p_ESG_Module_Interactive_Mode swig_types[133]
+-#define SWIGTYPE_p_ESG_Module_Type swig_types[134]
+-#define SWIGTYPE_p_ESG_Parameter_Type swig_types[135]
+-#define SWIGTYPE_p_ESG_Point_Type swig_types[136]
+-#define SWIGTYPE_p_ESG_Projection_Format swig_types[137]
+-#define SWIGTYPE_p_ESG_Projection_Type swig_types[138]
+-#define SWIGTYPE_p_ESG_Regression_Type swig_types[139]
+-#define SWIGTYPE_p_ESG_Shape_Copy_Mode swig_types[140]
+-#define SWIGTYPE_p_ESG_Shape_Type swig_types[141]
+-#define SWIGTYPE_p_ESG_Table_FileType swig_types[142]
+-#define SWIGTYPE_p_ESG_Table_Index_Order swig_types[143]
+-#define SWIGTYPE_p_ESG_UI_Callback_ID swig_types[144]
+-#define SWIGTYPE_p_ESG_UI_DataObject_Update swig_types[145]
+-#define SWIGTYPE_p_ESG_UI_MSG_STYLE swig_types[146]
+-#define SWIGTYPE_p_ESG_Vertex_Type swig_types[147]
+-#define SWIGTYPE_p_FILE swig_types[148]
+-#define SWIGTYPE_p_SSG_Point swig_types[149]
+-#define SWIGTYPE_p_SSG_Point_Int swig_types[150]
+-#define SWIGTYPE_p_SSG_Point_Z swig_types[151]
+-#define SWIGTYPE_p_SSG_Point_ZM swig_types[152]
+-#define SWIGTYPE_p_SSG_Rect swig_types[153]
+-#define SWIGTYPE_p_WORD swig_types[154]
+-#define SWIGTYPE_p_a_32__wchar_t swig_types[155]
+-#define SWIGTYPE_p_char swig_types[156]
+-#define SWIGTYPE_p_double swig_types[157]
+-#define SWIGTYPE_p_f_double__double swig_types[158]
+-#define SWIGTYPE_p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int swig_types[159]
+-#define SWIGTYPE_p_f_p_CSG_Parameter__int swig_types[160]
+-#define SWIGTYPE_p_f_q_const__int_q_const__int__int swig_types[161]
+-#define SWIGTYPE_p_int swig_types[162]
+-#define SWIGTYPE_p_long swig_types[163]
+-#define SWIGTYPE_p_p_double swig_types[164]
+-#define SWIGTYPE_p_p_void swig_types[165]
+-#define SWIGTYPE_p_p_wchar_t swig_types[166]
+-#define SWIGTYPE_p_void swig_types[167]
+-#define SWIGTYPE_p_wchar_t swig_types[168]
+-#define SWIGTYPE_p_wxFont swig_types[169]
+-static swig_type_info *swig_types[171];
+-static swig_module_info swig_module = {swig_types, 170, 0, 0, 0, 0};
+-#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+-#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
+-
+-/* -------- TYPES TABLE (END) -------- */
+-
+-#if (PY_VERSION_HEX <= 0x02000000)
+-# if !defined(SWIG_PYTHON_CLASSIC)
+-#  error "This python version requires swig to be run with the '-classic' option"
+-# endif
+-#endif
+-
+-/*-----------------------------------------------
+-              @(target):= _saga_api.so
+-  ------------------------------------------------*/
+-#if PY_VERSION_HEX >= 0x03000000
+-#  define SWIG_init    PyInit__saga_api
+-
+-#else
+-#  define SWIG_init    init_saga_api
+-
+-#endif
+-#define SWIG_name    "_saga_api"
+-
+-#define SWIGVERSION 0x010340 
+-#define SWIG_VERSION SWIGVERSION
+-
+-
+-#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
+-#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) 
+-
+-
+-#include <stdexcept>
+-
+-
+-namespace swig {
+-  class SwigPtr_PyObject {
+-  protected:
+-    PyObject *_obj;
+-
+-  public:
+-    SwigPtr_PyObject() :_obj(0)
+-    {
+-    }
+-
+-    SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj)
+-    {
+-      Py_XINCREF(_obj);      
+-    }
+-    
+-    SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj)
+-    {
+-      if (initial_ref) {
+-        Py_XINCREF(_obj);
+-      }
+-    }
+-    
+-    SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item) 
+-    {
+-      Py_XINCREF(item._obj);
+-      Py_XDECREF(_obj);
+-      _obj = item._obj;
+-      return *this;      
+-    }
+-    
+-    ~SwigPtr_PyObject() 
+-    {
+-      Py_XDECREF(_obj);
+-    }
+-    
+-    operator PyObject *() const
+-    {
+-      return _obj;
+-    }
+-
+-    PyObject *operator->() const
+-    {
+-      return _obj;
+-    }
+-  };
+-}
+-
+-
+-namespace swig {
+-  struct SwigVar_PyObject : SwigPtr_PyObject {
+-    SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { }
+-    
+-    SwigVar_PyObject & operator = (PyObject* obj)
+-    {
+-      Py_XDECREF(_obj);
+-      _obj = obj;
+-      return *this;      
+-    }
+-  };
+-}
+-
+-
+-#include "api_core.h"
+-#include "dataobject.h"
+-#include "geo_tools.h"
+-#include "grid.h"
+-#include "grid_pyramid.h"
+-#include "mat_tools.h"
+-#include "metadata.h"
+-#include "module.h"
+-#include "module_library.h"
+-#include "parameters.h"
+-#include "pointcloud.h"
+-#include "saga_api.h"
+-#include "shapes.h"
+-#include "table.h"
+-#include "table_dbase.h"
+-#include "table_value.h"
+-#include "tin.h"
+-
+-
+-  #define SWIG_From_long   PyInt_FromLong 
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_int  (int value)
+-{    
+-  return SWIG_From_long  (value);
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_double (PyObject *obj, double *val)
+-{
+-  int res = SWIG_TypeError;
+-  if (PyFloat_Check(obj)) {
+-    if (val) *val = PyFloat_AsDouble(obj);
+-    return SWIG_OK;
+-  } else if (PyInt_Check(obj)) {
+-    if (val) *val = PyInt_AsLong(obj);
+-    return SWIG_OK;
+-  } else if (PyLong_Check(obj)) {
+-    double v = PyLong_AsDouble(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = v;
+-      return SWIG_OK;
+-    } else {
+-      PyErr_Clear();
+-    }
+-  }
+-#ifdef SWIG_PYTHON_CAST_MODE
+-  {
+-    int dispatch = 0;
+-    double d = PyFloat_AsDouble(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = d;
+-      return SWIG_AddCast(SWIG_OK);
+-    } else {
+-      PyErr_Clear();
+-    }
+-    if (!dispatch) {
+-      long v = PyLong_AsLong(obj);
+-      if (!PyErr_Occurred()) {
+-	if (val) *val = v;
+-	return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
+-      } else {
+-	PyErr_Clear();
+-      }
+-    }
+-  }
+-#endif
+-  return res;
+-}
+-
+-
+-#include <float.h>
+-
+-
+-#include <math.h>
+-
+-
+-SWIGINTERNINLINE int
+-SWIG_CanCastAsInteger(double *d, double min, double max) {
+-  double x = *d;
+-  if ((min <= x && x <= max)) {
+-   double fx = floor(x);
+-   double cx = ceil(x);
+-   double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
+-   if ((errno == EDOM) || (errno == ERANGE)) {
+-     errno = 0;
+-   } else {
+-     double summ, reps, diff;
+-     if (rd < x) {
+-       diff = x - rd;
+-     } else if (rd > x) {
+-       diff = rd - x;
+-     } else {
+-       return 1;
+-     }
+-     summ = rd + x;
+-     reps = diff/summ;
+-     if (reps < 8*DBL_EPSILON) {
+-       *d = rd;
+-       return 1;
+-     }
+-   }
+-  }
+-  return 0;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) 
+-{
+-  if (PyInt_Check(obj)) {
+-    long v = PyInt_AsLong(obj);
+-    if (v >= 0) {
+-      if (val) *val = v;
+-      return SWIG_OK;
+-    } else {
+-      return SWIG_OverflowError;
+-    }
+-  } else if (PyLong_Check(obj)) {
+-    unsigned long v = PyLong_AsUnsignedLong(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = v;
+-      return SWIG_OK;
+-    } else {
+-      PyErr_Clear();
+-    }
+-  }
+-#ifdef SWIG_PYTHON_CAST_MODE
+-  {
+-    int dispatch = 0;
+-    unsigned long v = PyLong_AsUnsignedLong(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = v;
+-      return SWIG_AddCast(SWIG_OK);
+-    } else {
+-      PyErr_Clear();
+-    }
+-    if (!dispatch) {
+-      double d;
+-      int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
+-      if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
+-	if (val) *val = (unsigned long)(d);
+-	return res;
+-      }
+-    }
+-  }
+-#endif
+-  return SWIG_TypeError;
+-}
+-
+-
+-SWIGINTERNINLINE int
+-SWIG_AsVal_size_t (PyObject * obj, size_t *val)
+-{
+-  unsigned long v;
+-  int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
+-  if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v);
+-  return res;
+-}
+-
+-
+-#include <limits.h>
+-#if !defined(SWIG_NO_LLONG_MAX)
+-# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
+-#   define LLONG_MAX __LONG_LONG_MAX__
+-#   define LLONG_MIN (-LLONG_MAX - 1LL)
+-#   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
+-# endif
+-#endif
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_long (PyObject *obj, long* val)
+-{
+-  if (PyInt_Check(obj)) {
+-    if (val) *val = PyInt_AsLong(obj);
+-    return SWIG_OK;
+-  } else if (PyLong_Check(obj)) {
+-    long v = PyLong_AsLong(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = v;
+-      return SWIG_OK;
+-    } else {
+-      PyErr_Clear();
+-    }
+-  }
+-#ifdef SWIG_PYTHON_CAST_MODE
+-  {
+-    int dispatch = 0;
+-    long v = PyInt_AsLong(obj);
+-    if (!PyErr_Occurred()) {
+-      if (val) *val = v;
+-      return SWIG_AddCast(SWIG_OK);
+-    } else {
+-      PyErr_Clear();
+-    }
+-    if (!dispatch) {
+-      double d;
+-      int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
+-      if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
+-	if (val) *val = (long)(d);
+-	return res;
+-      }
+-    }
+-  }
+-#endif
+-  return SWIG_TypeError;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_int (PyObject * obj, int *val)
+-{
+-  long v;
+-  int res = SWIG_AsVal_long (obj, &v);
+-  if (SWIG_IsOK(res)) {
+-    if ((v < INT_MIN || v > INT_MAX)) {
+-      return SWIG_OverflowError;
+-    } else {
+-      if (val) *val = static_cast< int >(v);
+-    }
+-  }  
+-  return res;
+-}
+-
+-
+-SWIGINTERN swig_type_info*
+-SWIG_pchar_descriptor(void)
+-{
+-  static int init = 0;
+-  static swig_type_info* info = 0;
+-  if (!init) {
+-    info = SWIG_TypeQuery("_p_char");
+-    init = 1;
+-  }
+-  return info;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
+-{
+-#if PY_VERSION_HEX>=0x03000000
+-  if (PyUnicode_Check(obj))
+-#else  
+-  if (PyString_Check(obj))
+-#endif
+-  {
+-    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 (alloc) {
+-	/* 
+-	   In python the user should not be able to modify the inner
+-	   string representation. To warranty that, if you define
+-	   SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
+-	   buffer is always returned.
+-
+-	   The default behavior is just to return the pointer value,
+-	   so, be careful.
+-	*/ 
+-#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
+-	if (*alloc != SWIG_OLDOBJ) 
+-#else
+-	if (*alloc == SWIG_NEWOBJ) 
+-#endif
+-	  {
+-	    *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+-	    *alloc = SWIG_NEWOBJ;
+-	  }
+-	else {
+-	  *cptr = cstr;
+-	  *alloc = SWIG_OLDOBJ;
+-	}
+-      } else {
+-        #if PY_VERSION_HEX>=0x03000000
+-        assert(0); /* Should never reach here in Python 3 */
+-        #endif
+-	*cptr = SWIG_Python_str_AsChar(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();
+-    if (pchar_descriptor) {
+-      void* vptr = 0;
+-      if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
+-	if (cptr) *cptr = (char *) vptr;
+-	if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
+-	if (alloc) *alloc = SWIG_OLDOBJ;
+-	return SWIG_OK;
+-      }
+-    }
+-  }
+-  return SWIG_TypeError;
+-}
+-
+-
+-
+-
+-
+-SWIGINTERN int
+-SWIG_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;
+-}
+-
+-
+-  #define SWIG_From_double   PyFloat_FromDouble 
+-
+-
+-#include <wchar.h>
+-#include <limits.h>
+-#ifndef WCHAR_MIN
+-#  define WCHAR_MIN 0
+-#endif
+-#ifndef WCHAR_MAX
+-#  define WCHAR_MAX 65535
+-#endif
+-
+-
+-SWIGINTERN swig_type_info*
+-SWIG_pwchar_descriptor()
+-{
+-  static int init = 0;
+-  static swig_type_info* info = 0;
+-  if (!init) {
+-    info = SWIG_TypeQuery("_p_wchar_t");
+-    init = 1;
+-  }
+-  return info;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsWCharPtrAndSize(PyObject *obj, wchar_t **cptr, size_t *psize, int *alloc)
+-{
+-  PyObject *tmp = 0;
+-  int isunicode = PyUnicode_Check(obj);
+-#if PY_VERSION_HEX < 0x03000000
+-  if (!isunicode && PyString_Check(obj)) {
+-    if (cptr) {
+-      obj = tmp = PyUnicode_FromObject(obj);
+-    }
+-    isunicode = 1;
+-  }
+-#endif
+-  if (isunicode) {
+-    Py_ssize_t len = PyUnicode_GetSize(obj);
+-    if (cptr) {
+-      *cptr = (new wchar_t[len + 1]);
+-      PyUnicode_AsWideChar((PyUnicodeObject *)obj, *cptr, len);
+-      (*cptr)[len] = 0;
+-    }
+-    if (psize) *psize = (size_t) len + 1;
+-    if (alloc) *alloc = cptr ? SWIG_NEWOBJ : 0;
+-    Py_XDECREF(tmp);
+-    return SWIG_OK;
+-  } else {
+-    swig_type_info* pwchar_descriptor = SWIG_pwchar_descriptor();
+-    if (pwchar_descriptor) {
+-      void * vptr = 0;
+-      if (SWIG_ConvertPtr(obj, &vptr, pwchar_descriptor, 0) == SWIG_OK) {
+-	if (cptr) *cptr = (wchar_t *)vptr;
+-	if (psize) *psize = vptr ? (wcslen((wchar_t *)vptr) + 1) : 0;
+-	return SWIG_OK;
+-      }
+-    }
+-  }
+-  return SWIG_TypeError;
+-}
+-
+-
+-
+-
+-
+-SWIGINTERN int
+-SWIG_AsWCharArray(PyObject * obj, wchar_t *val, size_t size)
+-{ 
+-  wchar_t* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
+-  int res = SWIG_AsWCharPtrAndSize(obj, &cptr, &csize, &alloc);
+-  if (SWIG_IsOK(res)) {
+-    if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
+-    if (csize <= size) {
+-      if (val) {
+-	if (csize) memcpy(val, cptr, csize*sizeof(wchar_t));
+-	if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(wchar_t));
+-      }
+-      if (alloc == SWIG_NEWOBJ) {
+-	delete[] cptr;
+-	res = SWIG_DelNewMask(res);
+-      }      
+-      return res;
+-    }
+-    if (alloc == SWIG_NEWOBJ) delete[] cptr;
+-  }
+-  return SWIG_TypeError;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_wchar_t (PyObject * obj, wchar_t *val)
+-{    
+-  int res = SWIG_AsWCharArray(obj, val, 1);
+-  if (!SWIG_IsOK(res)) {
+-    long v;
+-    res = SWIG_AddCast(SWIG_AsVal_long (obj, &v));
+-    if (SWIG_IsOK(res)) {
+-      if ((WCHAR_MIN <= v) && (v <= WCHAR_MAX)) {
+-	if (val) *val = static_cast< wchar_t >(v);
+-      } else {
+-	res = SWIG_OverflowError;
+-      }
+-    }
+-  }
+-  return res;
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_FromWCharPtrAndSize(const wchar_t * carray, size_t size)
+-{
+-  if (carray) {
+-    if (size > INT_MAX) {
+-      swig_type_info* pwchar_descriptor = SWIG_pwchar_descriptor();
+-      return pwchar_descriptor ? 
+-	SWIG_NewPointerObj(const_cast< wchar_t * >(carray), pwchar_descriptor, 0) : SWIG_Py_Void();
+-    } else {
+-      return PyUnicode_FromWideChar(carray, static_cast< int >(size));
+-    }
+-  } else {
+-    return SWIG_Py_Void();
+-  }
+-}
+-
+-
+-SWIGINTERNINLINE PyObject * 
+-SWIG_FromWCharPtr(const wchar_t *cptr)
+-{ 
+-  return SWIG_FromWCharPtrAndSize(cptr, (cptr ? wcslen(cptr) : 0));
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_FromCharPtrAndSize(const char* carray, size_t size)
+-{
+-  if (carray) {
+-    if (size > INT_MAX) {
+-      swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+-      return pchar_descriptor ? 
+-	SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
+-    } else {
+-#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();
+-  }
+-}
+-
+-
+-SWIGINTERNINLINE PyObject * 
+-SWIG_FromCharPtr(const char *cptr)
+-{ 
+-  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
+-}
+-
+-
+-SWIGINTERNINLINE PyObject* 
+-SWIG_From_unsigned_SS_long  (unsigned long value)
+-{
+-  return (value > LONG_MAX) ?
+-    PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value)); 
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_size_t  (size_t value)
+-{    
+-  return SWIG_From_unsigned_SS_long  (static_cast< unsigned long >(value));
+-}
+-
+-
+-SWIGINTERNINLINE PyObject*
+-  SWIG_From_bool  (bool value)
+-{
+-  return PyBool_FromLong(value ? 1 : 0);
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsCharArray(PyObject * obj, char *val, size_t size)
+-{ 
+-  char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
+-  int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
+-  if (SWIG_IsOK(res)) {
+-    if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
+-    if (csize <= size) {
+-      if (val) {
+-	if (csize) memcpy(val, cptr, csize*sizeof(char));
+-	if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(char));
+-      }
+-      if (alloc == SWIG_NEWOBJ) {
+-	delete[] cptr;
+-	res = SWIG_DelNewMask(res);
+-      }      
+-      return res;
+-    }
+-    if (alloc == SWIG_NEWOBJ) delete[] cptr;
+-  }
+-  return SWIG_TypeError;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_char (PyObject * obj, char *val)
+-{    
+-  int res = SWIG_AsCharArray(obj, val, 1);
+-  if (!SWIG_IsOK(res)) {
+-    long v;
+-    res = SWIG_AddCast(SWIG_AsVal_long (obj, &v));
+-    if (SWIG_IsOK(res)) {
+-      if ((CHAR_MIN <= v) && (v <= CHAR_MAX)) {
+-	if (val) *val = static_cast< char >(v);
+-      } else {
+-	res = SWIG_OverflowError;
+-      }
+-    }
+-  }
+-  return res;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_short (PyObject * obj, short *val)
+-{
+-  long v;
+-  int res = SWIG_AsVal_long (obj, &v);
+-  if (SWIG_IsOK(res)) {
+-    if ((v < SHRT_MIN || v > SHRT_MAX)) {
+-      return SWIG_OverflowError;
+-    } else {
+-      if (val) *val = static_cast< short >(v);
+-    }
+-  }  
+-  return res;
+-}
+-
+-
+-SWIGINTERN int
+-SWIG_AsVal_float (PyObject * obj, float *val)
+-{
+-  double v;
+-  int res = SWIG_AsVal_double (obj, &v);
+-  if (SWIG_IsOK(res)) {
+-    if ((v < -FLT_MAX || v > FLT_MAX)) {
+-      return SWIG_OverflowError;
+-    } else {
+-      if (val) *val = static_cast< float >(v);
+-    }
+-  }  
+-  return res;
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_short  (short value)
+-{    
+-  return SWIG_From_long  (value);
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_float  (float value)
+-{    
+-  return SWIG_From_double  (value);
+-}
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_char  (char c) 
+-{ 
+-  return SWIG_FromCharPtrAndSize(&c,1);
+-}
+-
+-
+-typedef struct {
+-		wchar_t					*name;
+-		TSG_PFNC_Formula_1		f;			
+-		int						n_pars;		
+-		int						varying;	                                                                                                                                
+-	} CSG_Formula_TSG_Formula_Item;
+-
+-
+-
+-SWIGINTERNINLINE PyObject *
+-SWIG_From_wchar_t  (wchar_t c) 
+-{ 
+-  return SWIG_FromWCharPtrAndSize(&c,1);
+-}
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-SWIGINTERN PyObject *_wrap_SG_Malloc(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Malloc",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Malloc" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  result = (void *)SG_Malloc(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Calloc(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t arg2 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Calloc",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Calloc" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Calloc" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (void *)SG_Calloc(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Realloc(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  size_t arg2 ;
+-  int res1 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Realloc",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Realloc" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Realloc" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (void *)SG_Realloc(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Free(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  int res1 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Free",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Free" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  SG_Free(arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Swap_Bytes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  int arg2 ;
+-  int res1 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Swap_Bytes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Swap_Bytes" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Swap_Bytes" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  SG_Swap_Bytes(arg1,arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Mem_Get_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  char *arg1 = (char *) 0 ;
+-  bool arg2 ;
+-  int res1 ;
+-  char *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Mem_Get_Int",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Mem_Get_Int" "', argument " "1"" of type '" "char const *""'");
+-  }
+-  arg1 = reinterpret_cast< char * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Mem_Get_Int" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (int)SG_Mem_Get_Int((char const *)arg1,arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Mem_Set_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  char *arg1 = (char *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  int res1 ;
+-  char *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Mem_Set_Int",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Mem_Set_Int" "', argument " "1"" of type '" "char *""'");
+-  }
+-  arg1 = reinterpret_cast< char * >(buf1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Mem_Set_Int" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Mem_Set_Int" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  SG_Mem_Set_Int(arg1,arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Mem_Get_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  char *arg1 = (char *) 0 ;
+-  bool arg2 ;
+-  int res1 ;
+-  char *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Mem_Get_Double",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Mem_Get_Double" "', argument " "1"" of type '" "char const *""'");
+-  }
+-  arg1 = reinterpret_cast< char * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Mem_Get_Double" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)SG_Mem_Get_Double((char const *)arg1,arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Mem_Set_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  char *arg1 = (char *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  int res1 ;
+-  char *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Mem_Set_Double",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Mem_Set_Double" "', argument " "1"" of type '" "char *""'");
+-  }
+-  arg1 = reinterpret_cast< char * >(buf1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Mem_Set_Double" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Mem_Set_Double" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  SG_Mem_Set_Double(arg1,arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_String")) SWIG_fail;
+-  result = (CSG_String *)new CSG_String();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_String" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_String" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_String *)new CSG_String((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_String" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (CSG_String *)new CSG_String((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, SWIG_POINTER_NEW |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  char *arg1 = (char *) 0 ;
+-  int res1 ;
+-  char *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_String" "', argument " "1"" of type '" "char const *""'");
+-  }
+-  arg1 = reinterpret_cast< char * >(buf1);
+-  result = (CSG_String *)new CSG_String((char const *)arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, SWIG_POINTER_NEW |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t arg1 ;
+-  wchar_t val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_String",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_wchar_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_String" "', argument " "1"" of type '" "wchar_t""'");
+-  } 
+-  arg1 = static_cast< wchar_t >(val1);
+-  result = (CSG_String *)new CSG_String(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_String(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_String__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_String__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_wchar_t(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_String__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_String__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_String__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_String'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_String()\n"
+-    "    CSG_String(CSG_String const &)\n"
+-    "    CSG_String(wchar_t const *)\n"
+-    "    CSG_String(char const *)\n"
+-    "    CSG_String(wchar_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_String" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_c_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_c_str",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_c_str" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (wchar_t *)((CSG_String const *)arg1)->c_str();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_b_str(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  char *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_b_str",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_b_str" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (char *)(arg1)->b_str();
+-  resultobj = SWIG_FromCharPtr((const char *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Length",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Length" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = ((CSG_String const *)arg1)->Length();
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Clear" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Format__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  void *arg2 = 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Format",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Format" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = CSG_String::Format((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Format(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,1);
+-  varargs = PyTuple_GetSlice(args,1,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_String_Format__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Printf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Printf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Printf" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Printf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)(arg1)->Printf((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Printf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_String_Printf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Scanf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Scanf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Scanf" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Scanf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)(arg1)->Scanf((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Scanf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_String_Scanf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Append__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Append",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Append" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Append" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_String *) &(arg1)->Append((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Append__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Append",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Append" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Append" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = (CSG_String *) &(arg1)->Append(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Append(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_wchar_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String_Append__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String_Append__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Append'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Append(CSG_String *,wchar_t const *)\n"
+-    "    Append(CSG_String *,wchar_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___add__" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String___add__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String___add__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = ((CSG_String const *)arg1)->operator +((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___add__" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String___add__" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = ((CSG_String const *)arg1)->operator +((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___add____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___add__" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String___add__" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_String const *)arg1)->operator +(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___add__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String___add____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_wchar_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String___add____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String___add____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  CSG_String *arg2 = 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:CSG_String___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___iadd__" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String___iadd__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String___iadd__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  (arg1)->operator +=((CSG_String const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___iadd__" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String___iadd__" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->operator +=((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___iadd____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String___iadd__" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String___iadd__" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  (arg1)->operator +=(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_wchar_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String___iadd____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_String *,CSG_String const &)\n"
+-    "    operator +=(CSG_String *,wchar_t const *)\n"
+-    "    operator +=(CSG_String *,wchar_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Cmp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_String_Cmp",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Cmp" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Cmp" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String_Cmp" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (int)((CSG_String const *)arg1)->Cmp((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_CmpNoCase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_String_CmpNoCase",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_CmpNoCase" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_CmpNoCase" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String_CmpNoCase" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (int)((CSG_String const *)arg1)->CmpNoCase((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Make_Lower(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Make_Lower",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Make_Lower" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_String *) &(arg1)->Make_Lower();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Make_Upper(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Make_Upper",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Make_Upper" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_String *) &(arg1)->Make_Upper();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Replace__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_String_Replace",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Replace" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Replace" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_String_Replace" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_String_Replace" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (arg1)->Replace((wchar_t const *)arg2,(wchar_t const *)arg3,arg4);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Replace__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_String_Replace",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Replace" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Replace" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_String_Replace" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (arg1)->Replace((wchar_t const *)arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Replace(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_String_Replace__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_String_Replace__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Replace'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Replace(CSG_String *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Replace(CSG_String *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Remove__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Remove",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Remove" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Remove" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (CSG_String *) &(arg1)->Remove(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Remove__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_String_Remove",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Remove" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Remove" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_String_Remove" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = (CSG_String *) &(arg1)->Remove(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Remove(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String_Remove__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_String_Remove__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Remove'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Remove(CSG_String *,size_t)\n"
+-    "    Remove(CSG_String *,size_t,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Trim__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Trim",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Trim" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Trim" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (int)(arg1)->Trim(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Trim__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_Trim",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Trim" "', argument " "1"" of type '" "CSG_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (int)(arg1)->Trim();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Trim(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_String_Trim__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String_Trim__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Trim'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Trim(CSG_String *,bool)\n"
+-    "    Trim(CSG_String *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Find__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_String_Find",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Find" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Find" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_String_Find" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (int)((CSG_String const *)arg1)->Find(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Find__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Find",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Find" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Find" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = (int)((CSG_String const *)arg1)->Find(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Find__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Find",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Find" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Find" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)((CSG_String const *)arg1)->Find((wchar_t const *)arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Find(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_wchar_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String_Find__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String_Find__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_wchar_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_String_Find__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Find'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Find(CSG_String const *,wchar_t,bool)\n"
+-    "    Find(CSG_String const *,wchar_t)\n"
+-    "    Find(CSG_String const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Contains",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Contains" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_Contains" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)((CSG_String const *)arg1)->Contains((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_AfterFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_AfterFirst",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_AfterFirst" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_AfterFirst" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_String const *)arg1)->AfterFirst(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_AfterLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_AfterLast",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_AfterLast" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_AfterLast" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_String const *)arg1)->AfterLast(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_BeforeFirst(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_BeforeFirst",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_BeforeFirst" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_BeforeFirst" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_String const *)arg1)->BeforeFirst(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_BeforeLast(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_BeforeLast",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_BeforeLast" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_BeforeLast" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_String const *)arg1)->BeforeLast(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Right(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Right",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Right" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Right" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = ((CSG_String const *)arg1)->Right(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Mid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_String_Mid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Mid" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Mid" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_String_Mid" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = ((CSG_String const *)arg1)->Mid(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Mid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Mid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Mid" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Mid" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = ((CSG_String const *)arg1)->Mid(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Mid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_String_Mid__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_String_Mid__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_Mid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Mid(CSG_String const *,size_t,size_t)\n"
+-    "    Mid(CSG_String const *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_Left(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_String_Left",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_Left" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_String_Left" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = ((CSG_String const *)arg1)->Left(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_asInt" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (int)((CSG_String const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  int *arg2 = 0 ;
+-  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:CSG_String_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_asInt" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_asInt" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String_asInt" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  result = (bool)((CSG_String const *)arg1)->asInt(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asInt(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_String_asInt__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String_asInt__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_asInt'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asInt(CSG_String const *)\n"
+-    "    asInt(CSG_String const *,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asDouble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_String_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_asDouble" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (double)((CSG_String const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asDouble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = (CSG_String *) 0 ;
+-  double *arg2 = 0 ;
+-  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:CSG_String_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_String_asDouble" "', argument " "1"" of type '" "CSG_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_String_asDouble" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_String_asDouble" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)((CSG_String const *)arg1)->asDouble(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_String_asDouble(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_String_asDouble__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_String_asDouble__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_String_asDouble'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDouble(CSG_String const *)\n"
+-    "    asDouble(CSG_String const *,double &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_String_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_String, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Strings__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Strings")) SWIG_fail;
+-  result = (CSG_Strings *)new CSG_Strings();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Strings, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Strings__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Strings *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Strings",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Strings,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Strings" "', argument " "1"" of type '" "CSG_Strings const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Strings" "', argument " "1"" of type '" "CSG_Strings const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  result = (CSG_Strings *)new CSG_Strings((CSG_Strings const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Strings, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Strings__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  wchar_t **arg2 = (wchar_t **) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Strings *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Strings",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Strings" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_wchar_t, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Strings" "', argument " "2"" of type '" "wchar_t const **""'"); 
+-  }
+-  arg2 = reinterpret_cast< wchar_t ** >(argp2);
+-  result = (CSG_Strings *)new CSG_Strings(arg1,(wchar_t const **)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Strings, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Strings(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 == 0) {
+-    return _wrap_new_CSG_Strings__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Strings, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Strings__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_p_wchar_t, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Strings__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Strings'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Strings()\n"
+-    "    CSG_Strings(CSG_Strings const &)\n"
+-    "    CSG_Strings(int,wchar_t const **)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Strings(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Strings",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Strings" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Strings_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Clear" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  CSG_Strings *arg2 = 0 ;
+-  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:CSG_Strings_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Assign" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Strings,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Strings_Assign" "', argument " "2"" of type '" "CSG_Strings const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Strings_Assign" "', argument " "2"" of type '" "CSG_Strings const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Strings * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Strings const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Strings_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Add" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Strings_Add" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Strings_Add" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Strings *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Strings___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings___iadd__" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Strings___iadd__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Strings___iadd__" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (CSG_Strings *) &(arg1)->operator +=((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Strings, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Set_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  int arg2 ;
+-  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:CSG_Strings_Set_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Set_Count" "', argument " "1"" of type '" "CSG_Strings *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Strings_Set_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Strings_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Get_Count" "', argument " "1"" of type '" "CSG_Strings const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  result = (int)((CSG_Strings const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Strings_Get_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Strings *arg1 = (CSG_Strings *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Strings_Get_String",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Strings, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Strings_Get_String" "', argument " "1"" of type '" "CSG_Strings const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Strings * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Strings_Get_String" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_String *) &((CSG_Strings const *)arg1)->Get_String(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Strings_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Strings, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Printf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  void *arg2 = 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Printf",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Printf" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (int)SG_Printf((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Printf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,1);
+-  varargs = PyTuple_GetSlice(args,1,PyTuple_Size(args)+1);
+-  resultobj = _wrap_SG_Printf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_FPrintf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  FILE *arg1 = (FILE *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_FPrintf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FILE, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_FPrintf" "', argument " "1"" of type '" "FILE *""'"); 
+-  }
+-  arg1 = reinterpret_cast< FILE * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_FPrintf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)SG_FPrintf(arg1,(wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_FPrintf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_SG_FPrintf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Sscanf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Sscanf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Sscanf" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Sscanf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)SG_Sscanf((wchar_t const *)arg1,(wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Sscanf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_SG_Sscanf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_CurrentTimeStr__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_CurrentTimeStr",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_CurrentTimeStr" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = SG_Get_CurrentTimeStr(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_CurrentTimeStr__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Get_CurrentTimeStr")) SWIG_fail;
+-  result = SG_Get_CurrentTimeStr();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_CurrentTimeStr(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Get_CurrentTimeStr__SWIG_1(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_bool(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Get_CurrentTimeStr__SWIG_0(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_CurrentTimeStr'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_CurrentTimeStr(bool)\n"
+-    "    SG_Get_CurrentTimeStr()\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UTF8_To_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UTF8_To_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UTF8_To_String" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = SG_UTF8_To_String((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_String_To_UTF8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_String_To_UTF8",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_String_To_UTF8" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = SG_String_To_UTF8((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Degree_To_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Degree_To_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Degree_To_Double" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (double)SG_Degree_To_Double((wchar_t const *)arg1);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Double_To_Degree(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Double_To_Degree",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Double_To_Degree" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = SG_Double_To_Degree(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Date_To_Number(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Date_To_Number",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Date_To_Number" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (int)SG_Date_To_Number((wchar_t const *)arg1);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Number_To_Date__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Number_To_Date",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Number_To_Date" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = SG_Number_To_Date(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Number_To_Date__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Number_To_Date",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Number_To_Date" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = SG_Number_To_Date(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Number_To_Date(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)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_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Number_To_Date__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Number_To_Date__SWIG_1(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Number_To_Date'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Number_To_Date(int)\n"
+-    "    SG_Number_To_Date(double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Significant_Decimals__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  int arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Get_Significant_Decimals",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Significant_Decimals" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Significant_Decimals" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)SG_Get_Significant_Decimals(arg1,arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Significant_Decimals__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_Significant_Decimals",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Significant_Decimals" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = (int)SG_Get_Significant_Decimals(arg1);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Significant_Decimals(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 == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Get_Significant_Decimals__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Get_Significant_Decimals__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Significant_Decimals'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Significant_Decimals(double,int)\n"
+-    "    SG_Get_Significant_Decimals(double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Flip_Decimal_Separators(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Flip_Decimal_Separators",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Flip_Decimal_Separators" "', argument " "1"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Flip_Decimal_Separators" "', argument " "1"" of type '" "CSG_String &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  SG_Flip_Decimal_Separators(*arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_String__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Get_String",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_String" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_String" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Get_String" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = SG_Get_String(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_String__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  int arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Get_String",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_String" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_String" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = SG_Get_String(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_String__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_String",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_String" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = SG_Get_String(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_String(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 == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Get_String__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Get_String__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Get_String__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_String'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_String(double,int,bool)\n"
+-    "    SG_Get_String(double,int)\n"
+-    "    SG_Get_String(double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Array__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Array")) SWIG_fail;
+-  result = (CSG_Array *)new CSG_Array();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Array, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Array(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Array",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Array__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t arg2 ;
+-  TSG_Array_Growth arg3 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Array *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Array",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Array" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Array" "', argument " "3"" of type '" "TSG_Array_Growth""'");
+-  } 
+-  arg3 = static_cast< TSG_Array_Growth >(val3);
+-  result = (CSG_Array *)new CSG_Array(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Array, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Array__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t arg2 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Array *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Array",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Array" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (CSG_Array *)new CSG_Array(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Array, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Array__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Array *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Array",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Array" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  result = (CSG_Array *)new CSG_Array(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Array, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Array(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 == 0) {
+-    return _wrap_new_CSG_Array__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_size_t(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Array__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_size_t(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Array__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_size_t(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_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_new_CSG_Array__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Array'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Array()\n"
+-    "    CSG_Array(size_t,size_t,TSG_Array_Growth)\n"
+-    "    CSG_Array(size_t,size_t)\n"
+-    "    CSG_Array(size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  size_t arg3 ;
+-  TSG_Array_Growth arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Array_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Create" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Create" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Array_Create" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Array_Create" "', argument " "4"" of type '" "TSG_Array_Growth""'");
+-  } 
+-  arg4 = static_cast< TSG_Array_Growth >(val4);
+-  result = (void *)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Array_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Create" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Create" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Array_Create" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = (void *)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Array_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Create" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Create" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (void *)(arg1)->Create(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Array_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Array_Create__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Array_Create__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Array_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Array *,size_t,size_t,TSG_Array_Growth)\n"
+-    "    Create(CSG_Array *,size_t,size_t)\n"
+-    "    Create(CSG_Array *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Destroy" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Growth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  TSG_Array_Growth arg2 ;
+-  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:CSG_Array_Set_Growth",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Set_Growth" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Set_Growth" "', argument " "2"" of type '" "TSG_Array_Growth""'");
+-  } 
+-  arg2 = static_cast< TSG_Array_Growth >(val2);
+-  result = (bool)(arg1)->Set_Growth(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Growth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Get_Growth",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Get_Growth" "', argument " "1"" of type '" "CSG_Array const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  result = (int)((CSG_Array const *)arg1)->Get_Growth();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Get_Size",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Get_Size" "', argument " "1"" of type '" "CSG_Array const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  result = ((CSG_Array const *)arg1)->Get_Size();
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Entry(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Array_Get_Entry",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Get_Entry" "', argument " "1"" of type '" "CSG_Array const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Get_Entry" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (void *)((CSG_Array const *)arg1)->Get_Entry(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Array__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Get_Array",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Get_Array" "', argument " "1"" of type '" "CSG_Array const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  result = (void *)((CSG_Array const *)arg1)->Get_Array();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Array__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Array_Get_Array",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Get_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Get_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (void *)(arg1)->Get_Array(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Get_Array(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Array_Get_Array__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Array_Get_Array__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Array_Get_Array'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Array(CSG_Array const *)\n"
+-    "    Get_Array(CSG_Array *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Array__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Array_Set_Array",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Set_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Set_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Array_Set_Array" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Set_Array(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Array__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Array_Set_Array",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Set_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Set_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (bool)(arg1)->Set_Array(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Array__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void **arg3 = (void **) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Array_Set_Array",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Set_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Set_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_p_void, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Array_Set_Array" "', argument " "3"" of type '" "void **""'"); 
+-  }
+-  arg3 = reinterpret_cast< void ** >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Array_Set_Array" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_Array(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Array__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  size_t arg2 ;
+-  void **arg3 = (void **) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Array_Set_Array",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Set_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Set_Array" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_p_void, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Array_Set_Array" "', argument " "3"" of type '" "void **""'"); 
+-  }
+-  arg3 = reinterpret_cast< void ** >(argp3);
+-  result = (bool)(arg1)->Set_Array(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Set_Array(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Array_Set_Array__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_p_void, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Array_Set_Array__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Array_Set_Array__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_p_void, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Array_Set_Array__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Array_Set_Array'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Array(CSG_Array *,size_t,bool)\n"
+-    "    Set_Array(CSG_Array *,size_t)\n"
+-    "    Set_Array(CSG_Array *,size_t,void **,bool)\n"
+-    "    Set_Array(CSG_Array *,size_t,void **)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Inc_Array__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Inc_Array",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Inc_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  result = (bool)(arg1)->Inc_Array();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Inc_Array__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void **arg2 = (void **) 0 ;
+-  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:CSG_Array_Inc_Array",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Inc_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_void, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Array_Inc_Array" "', argument " "2"" of type '" "void **""'"); 
+-  }
+-  arg2 = reinterpret_cast< void ** >(argp2);
+-  result = (bool)(arg1)->Inc_Array(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Inc_Array(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Array_Inc_Array__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_p_void, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Array_Inc_Array__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Array_Inc_Array'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Inc_Array(CSG_Array *)\n"
+-    "    Inc_Array(CSG_Array *,void **)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Dec_Array__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Array_Dec_Array",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Dec_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Array_Dec_Array" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Dec_Array(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Dec_Array__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Array_Dec_Array",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Dec_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  result = (bool)(arg1)->Dec_Array();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Dec_Array__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void **arg2 = (void **) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Array_Dec_Array",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Dec_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_void, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Array_Dec_Array" "', argument " "2"" of type '" "void **""'"); 
+-  }
+-  arg2 = reinterpret_cast< void ** >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Array_Dec_Array" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Dec_Array(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Dec_Array__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Array *arg1 = (CSG_Array *) 0 ;
+-  void **arg2 = (void **) 0 ;
+-  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:CSG_Array_Dec_Array",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Array_Dec_Array" "', argument " "1"" of type '" "CSG_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Array * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_void, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Array_Dec_Array" "', argument " "2"" of type '" "void **""'"); 
+-  }
+-  arg2 = reinterpret_cast< void ** >(argp2);
+-  result = (bool)(arg1)->Dec_Array(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Array_Dec_Array(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Array_Dec_Array__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_p_void, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Array_Dec_Array__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Array_Dec_Array__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Array, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_p_void, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Array_Dec_Array__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Array_Dec_Array'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Dec_Array(CSG_Array *,bool)\n"
+-    "    Dec_Array(CSG_Array *)\n"
+-    "    Dec_Array(CSG_Array *,void **,bool)\n"
+-    "    Dec_Array(CSG_Array *,void **)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Array_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Array, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Buffer__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Buffer")) SWIG_fail;
+-  result = (CSG_Buffer *)new CSG_Buffer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Buffer_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Create" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Buffer__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Buffer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Buffer,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Buffer" "', argument " "1"" of type '" "CSG_Buffer const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Buffer" "', argument " "1"" of type '" "CSG_Buffer const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  result = (CSG_Buffer *)new CSG_Buffer((CSG_Buffer const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  CSG_Buffer *arg2 = 0 ;
+-  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:CSG_Buffer_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Create" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Buffer,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Buffer_Create" "', argument " "2"" of type '" "CSG_Buffer const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Buffer_Create" "', argument " "2"" of type '" "CSG_Buffer const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Buffer * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Buffer const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Buffer__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Buffer",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Buffer" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  result = (CSG_Buffer *)new CSG_Buffer(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Buffer(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Buffer__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Buffer__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_size_t(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Buffer__SWIG_2(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Buffer'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Buffer()\n"
+-    "    CSG_Buffer(CSG_Buffer const &)\n"
+-    "    CSG_Buffer(size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Create" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Create" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Create(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Buffer_Create__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Buffer, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Buffer *)\n"
+-    "    Create(CSG_Buffer *,CSG_Buffer const &)\n"
+-    "    Create(CSG_Buffer *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Buffer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Buffer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Buffer" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Buffer_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Destroy" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Size__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  size_t arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Size",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Size" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Size" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Size" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Set_Size(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Size__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Set_Size",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Size" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Size" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (bool)(arg1)->Set_Size(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Size(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Set_Size__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_size_t(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Size__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Set_Size'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Size(CSG_Buffer *,size_t,bool)\n"
+-    "    Set_Size(CSG_Buffer *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Inc_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  size_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  size_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Inc_Size",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Inc_Size" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_size_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Inc_Size" "', argument " "2"" of type '" "size_t""'");
+-  } 
+-  arg2 = static_cast< size_t >(val2);
+-  result = (bool)(arg1)->Inc_Size(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Get_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Buffer_Get_Size",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Get_Size" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  result = ((CSG_Buffer const *)arg1)->Get_Size();
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Data__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  size_t arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Data",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Data" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Buffer_Set_Data" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Data" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Data" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_Data((char const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Data__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Data",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Data" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Buffer_Set_Data" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Data" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = (bool)(arg1)->Set_Data((char const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Data(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Data__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Data__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Set_Data'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Data(CSG_Buffer *,char const *,size_t,bool)\n"
+-    "    Set_Data(CSG_Buffer *,char const *,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Get_Data__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  char *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Get_Data",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Get_Data" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Get_Data" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (char *)((CSG_Buffer const *)arg1)->Get_Data(arg2);
+-  resultobj = SWIG_FromCharPtr((const char *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Get_Data__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  char *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Buffer_Get_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Get_Data" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  result = (char *)((CSG_Buffer const *)arg1)->Get_Data();
+-  resultobj = SWIG_FromCharPtr((const char *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Get_Data(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Buffer_Get_Data__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Get_Data__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Get_Data'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Data(CSG_Buffer const *,int)\n"
+-    "    Get_Data(CSG_Buffer const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  char arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  char val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "char""'");
+-  } 
+-  arg2 = static_cast< char >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Add_Value" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  char arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  char val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "char""'");
+-  } 
+-  arg2 = static_cast< char >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  short arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Add_Value" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  short arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Add_Value" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  float arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Add_Value" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  float arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Add_Value" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Add_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Add_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Add_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Add_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Add_Value__SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Add_Value__SWIG_7(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Add_Value__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_char(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_Add_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Add_Value__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Add_Value__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Add_Value__SWIG_6(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Add_Value__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_char(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Add_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Add_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Value(CSG_Buffer *,char,bool)\n"
+-    "    Add_Value(CSG_Buffer *,char)\n"
+-    "    Add_Value(CSG_Buffer *,short,bool)\n"
+-    "    Add_Value(CSG_Buffer *,short)\n"
+-    "    Add_Value(CSG_Buffer *,int,bool)\n"
+-    "    Add_Value(CSG_Buffer *,int)\n"
+-    "    Add_Value(CSG_Buffer *,float,bool)\n"
+-    "    Add_Value(CSG_Buffer *,float)\n"
+-    "    Add_Value(CSG_Buffer *,double,bool)\n"
+-    "    Add_Value(CSG_Buffer *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  char arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  char val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer___iadd__" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer___iadd__" "', argument " "2"" of type '" "char""'");
+-  } 
+-  arg2 = static_cast< char >(val2);
+-  result = (CSG_Buffer *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  short arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer___iadd__" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer___iadd__" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  result = (CSG_Buffer *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer___iadd__" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer___iadd__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Buffer *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd____SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  float arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer___iadd__" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer___iadd__" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  result = (CSG_Buffer *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd____SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Buffer *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer___iadd__" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer___iadd__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Buffer *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Buffer, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer___iadd____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer___iadd____SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer___iadd____SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_char(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_Buffer *,char)\n"
+-    "    operator +=(CSG_Buffer *,short)\n"
+-    "    operator +=(CSG_Buffer *,int)\n"
+-    "    operator +=(CSG_Buffer *,float)\n"
+-    "    operator +=(CSG_Buffer *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  char arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  char val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_char(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "char""'");
+-  } 
+-  arg3 = static_cast< char >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  char arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  char val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_char(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "char""'");
+-  } 
+-  arg3 = static_cast< char >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  short arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  short val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_short(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "short""'");
+-  } 
+-  arg3 = static_cast< short >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  short arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  short val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_short(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "short""'");
+-  } 
+-  arg3 = static_cast< short >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  float arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  float val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_float(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "float""'");
+-  } 
+-  arg3 = static_cast< float >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  float arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  float val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_float(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "float""'");
+-  } 
+-  arg3 = static_cast< float >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Buffer_Set_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_Set_Value" "', argument " "1"" of type '" "CSG_Buffer *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_Set_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_short(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Value__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Value__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_float(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Value__SWIG_7(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Value__SWIG_9(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_char(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_Set_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_short(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Value__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Value__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_float(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Value__SWIG_6(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Value__SWIG_8(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_char(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Buffer_Set_Value__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Buffer *,int,char,bool)\n"
+-    "    Set_Value(CSG_Buffer *,int,char)\n"
+-    "    Set_Value(CSG_Buffer *,int,short,bool)\n"
+-    "    Set_Value(CSG_Buffer *,int,short)\n"
+-    "    Set_Value(CSG_Buffer *,int,int,bool)\n"
+-    "    Set_Value(CSG_Buffer *,int,int)\n"
+-    "    Set_Value(CSG_Buffer *,int,float,bool)\n"
+-    "    Set_Value(CSG_Buffer *,int,float)\n"
+-    "    Set_Value(CSG_Buffer *,int,double,bool)\n"
+-    "    Set_Value(CSG_Buffer *,int,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asShort__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_asShort",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asShort" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_asShort" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (short)((CSG_Buffer const *)arg1)->asShort(arg2,arg3);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asShort__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_asShort",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asShort" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (short)((CSG_Buffer const *)arg1)->asShort(arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asShort(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_asShort__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_asShort__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_asShort'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asShort(CSG_Buffer const *,int,bool)\n"
+-    "    asShort(CSG_Buffer const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_asInt",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asInt" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_asInt" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (int)((CSG_Buffer const *)arg1)->asInt(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asInt" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Buffer const *)arg1)->asInt(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asInt(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_asInt__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_asInt__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_asInt'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asInt(CSG_Buffer const *,int,bool)\n"
+-    "    asInt(CSG_Buffer const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asFloat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_asFloat",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asFloat" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_asFloat" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (float)((CSG_Buffer const *)arg1)->asFloat(arg2,arg3);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asFloat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_asFloat",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asFloat" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (float)((CSG_Buffer const *)arg1)->asFloat(arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asFloat(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_asFloat__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_asFloat__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_asFloat'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asFloat(CSG_Buffer const *,int,bool)\n"
+-    "    asFloat(CSG_Buffer const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asDouble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Buffer_asDouble",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asDouble" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Buffer_asDouble" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)((CSG_Buffer const *)arg1)->asDouble(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asDouble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Buffer *arg1 = (CSG_Buffer *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Buffer_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Buffer, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Buffer_asDouble" "', argument " "1"" of type '" "CSG_Buffer const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Buffer * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Buffer_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Buffer const *)arg1)->asDouble(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Buffer_asDouble(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Buffer_asDouble__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Buffer, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Buffer_asDouble__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Buffer_asDouble'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDouble(CSG_Buffer const *,int,bool)\n"
+-    "    asDouble(CSG_Buffer const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Buffer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Buffer, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Bytes")) SWIG_fail;
+-  result = (CSG_Bytes *)new CSG_Bytes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Create" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Bytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Bytes" "', argument " "1"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Bytes" "', argument " "1"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (CSG_Bytes *)new CSG_Bytes((CSG_Bytes const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Bytes_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Create" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Create" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Create" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  BYTE *arg1 = (BYTE *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Bytes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_BYTE, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Bytes" "', argument " "1"" of type '" "BYTE const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< BYTE * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Bytes" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Bytes *)new CSG_Bytes((BYTE const *)arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  BYTE *arg2 = (BYTE *) 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Create" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_BYTE, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Create" "', argument " "2"" of type '" "BYTE const *""'"); 
+-  }
+-  arg2 = reinterpret_cast< BYTE * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Create((BYTE const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Bytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Bytes" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (CSG_Bytes *)new CSG_Bytes((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_NEW |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes(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 == 0) {
+-    return _wrap_new_CSG_Bytes__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Bytes__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Bytes__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_BYTE, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Bytes__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Bytes'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Bytes()\n"
+-    "    CSG_Bytes(CSG_Bytes const &)\n"
+-    "    CSG_Bytes(BYTE const *,int)\n"
+-    "    CSG_Bytes(wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Create" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Create" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Create((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Create(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Create__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_BYTE, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Bytes *)\n"
+-    "    Create(CSG_Bytes *,CSG_Bytes const &)\n"
+-    "    Create(CSG_Bytes *,BYTE const *,int)\n"
+-    "    Create(CSG_Bytes *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Bytes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Bytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Bytes" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Destroy" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Clear" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (bool)(arg1)->Clear();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Rewind(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Rewind",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Rewind" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  (arg1)->Rewind();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_is_EOF(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_is_EOF",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_is_EOF" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (bool)(arg1)->is_EOF();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Get_Count" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (int)((CSG_Bytes const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Get_Bytes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  BYTE *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Get_Bytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Get_Bytes" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (BYTE *)((CSG_Bytes const *)arg1)->Get_Bytes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_BYTE, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Get_Bytes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Get_Bytes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Get_Bytes" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Get_Bytes" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->Get_Bytes(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Get_Bytes(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Get_Bytes__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Get_Bytes__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Get_Bytes'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Bytes(CSG_Bytes const *)\n"
+-    "    Get_Bytes(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___add__" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___add__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->operator +(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Get_Byte(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Get_Byte",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Get_Byte" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Get_Byte" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->Get_Byte(arg2);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Bytes_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Assign" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Assign" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Assign" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Bytes_Add",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Bytes_Add" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Add(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  BYTE arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_BYTE,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "BYTE""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "BYTE""'");
+-    } else {
+-      BYTE * temp = reinterpret_cast< BYTE * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  BYTE arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_BYTE,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "BYTE""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "BYTE""'");
+-    } else {
+-      BYTE * temp = reinterpret_cast< BYTE * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  char arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  char val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "char""'");
+-  } 
+-  arg2 = static_cast< char >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  char arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  char val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "char""'");
+-  } 
+-  arg2 = static_cast< char >(val2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  short arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  short arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  short arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  short val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_short(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "short""'");
+-  } 
+-  arg2 = static_cast< short >(val2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  WORD arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_WORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "WORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "WORD""'");
+-    } else {
+-      WORD * temp = reinterpret_cast< WORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  WORD arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_WORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "WORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "WORD""'");
+-    } else {
+-      WORD * temp = reinterpret_cast< WORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  WORD arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_WORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "WORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "WORD""'");
+-    } else {
+-      WORD * temp = reinterpret_cast< WORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  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:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  DWORD arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_DWORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "DWORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "DWORD""'");
+-    } else {
+-      DWORD * temp = reinterpret_cast< DWORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  DWORD arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_DWORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "DWORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "DWORD""'");
+-    } else {
+-      DWORD * temp = reinterpret_cast< DWORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  DWORD arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_DWORD,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "DWORD""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "DWORD""'");
+-    } else {
+-      DWORD * temp = reinterpret_cast< DWORD * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  float arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  float arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  float arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  float val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_float(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "float""'");
+-  } 
+-  arg2 = static_cast< float >(val2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_14(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_Add" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add__SWIG_15(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Add" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_BYTE, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_WORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_7(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_DWORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_11(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_13(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_15(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_char(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Add__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_DWORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_10(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_WORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_6(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_12(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_Add__SWIG_14(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Bytes_Add__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Bytes *,CSG_Bytes const &)\n"
+-    "    Add(CSG_Bytes *,void *,int,bool)\n"
+-    "    Add(CSG_Bytes *,BYTE)\n"
+-    "    Add(CSG_Bytes *,char)\n"
+-    "    Add(CSG_Bytes *,short,bool)\n"
+-    "    Add(CSG_Bytes *,short)\n"
+-    "    Add(CSG_Bytes *,WORD,bool)\n"
+-    "    Add(CSG_Bytes *,WORD)\n"
+-    "    Add(CSG_Bytes *,int,bool)\n"
+-    "    Add(CSG_Bytes *,int)\n"
+-    "    Add(CSG_Bytes *,DWORD,bool)\n"
+-    "    Add(CSG_Bytes *,DWORD)\n"
+-    "    Add(CSG_Bytes *,float,bool)\n"
+-    "    Add(CSG_Bytes *,float)\n"
+-    "    Add(CSG_Bytes *,double,bool)\n"
+-    "    Add(CSG_Bytes *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd____SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes___iadd__" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes___iadd__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Bytes *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_BYTE, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_WORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_DWORD, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_short(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_float(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_7(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_8(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_char(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes___iadd____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_Bytes *,CSG_Bytes const &)\n"
+-    "    operator +=(CSG_Bytes *,BYTE)\n"
+-    "    operator +=(CSG_Bytes *,char)\n"
+-    "    operator +=(CSG_Bytes *,short)\n"
+-    "    operator +=(CSG_Bytes *,WORD)\n"
+-    "    operator +=(CSG_Bytes *,int)\n"
+-    "    operator +=(CSG_Bytes *,DWORD)\n"
+-    "    operator +=(CSG_Bytes *,float)\n"
+-    "    operator +=(CSG_Bytes *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asByte(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asByte",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asByte" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asByte" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->asByte(arg2);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asChar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asChar",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asChar" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asChar" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (char)((CSG_Bytes const *)arg1)->asChar(arg2);
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asShort__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asShort",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asShort" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asShort" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (short)((CSG_Bytes const *)arg1)->asShort(arg2,arg3);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asShort__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asShort",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asShort" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (short)((CSG_Bytes const *)arg1)->asShort(arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asShort(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asShort__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asShort__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asShort'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asShort(CSG_Bytes const *,int,bool)\n"
+-    "    asShort(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asWord__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  WORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asWord",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asWord" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asWord" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asWord" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = ((CSG_Bytes const *)arg1)->asWord(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new WORD(static_cast< const WORD& >(result))), SWIGTYPE_p_WORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asWord__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  WORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asWord",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asWord" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asWord" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->asWord(arg2);
+-  resultobj = SWIG_NewPointerObj((new WORD(static_cast< const WORD& >(result))), SWIGTYPE_p_WORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asWord(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asWord__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asWord__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asWord'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asWord(CSG_Bytes const *,int,bool)\n"
+-    "    asWord(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asInt",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asInt" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asInt" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (int)((CSG_Bytes const *)arg1)->asInt(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asInt" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Bytes const *)arg1)->asInt(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asInt(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asInt__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asInt__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asInt'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asInt(CSG_Bytes const *,int,bool)\n"
+-    "    asInt(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDWord__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  DWORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asDWord",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asDWord" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asDWord" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asDWord" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = ((CSG_Bytes const *)arg1)->asDWord(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new DWORD(static_cast< const DWORD& >(result))), SWIGTYPE_p_DWORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDWord__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  DWORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asDWord",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asDWord" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asDWord" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Bytes const *)arg1)->asDWord(arg2);
+-  resultobj = SWIG_NewPointerObj((new DWORD(static_cast< const DWORD& >(result))), SWIGTYPE_p_DWORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDWord(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asDWord__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asDWord__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asDWord'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDWord(CSG_Bytes const *,int,bool)\n"
+-    "    asDWord(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asFloat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asFloat",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asFloat" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asFloat" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (float)((CSG_Bytes const *)arg1)->asFloat(arg2,arg3);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asFloat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asFloat",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asFloat" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (float)((CSG_Bytes const *)arg1)->asFloat(arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asFloat(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asFloat__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asFloat__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asFloat'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asFloat(CSG_Bytes const *,int,bool)\n"
+-    "    asFloat(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDouble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Bytes_asDouble",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asDouble" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Bytes_asDouble" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)((CSG_Bytes const *)arg1)->asDouble(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDouble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_asDouble" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Bytes const *)arg1)->asDouble(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_asDouble(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_asDouble__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Bytes_asDouble__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_asDouble'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDouble(CSG_Bytes const *,int,bool)\n"
+-    "    asDouble(CSG_Bytes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Byte(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Byte",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Byte" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (arg1)->Read_Byte();
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Char(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Char",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Char" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (char)(arg1)->Read_Char();
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Short__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_Short",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Short" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_Short" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (short)(arg1)->Read_Short(arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Short__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Short",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Short" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (short)(arg1)->Read_Short();
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Short(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_Short__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_Short__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_Short'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Short(CSG_Bytes *,bool)\n"
+-    "    Read_Short(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Word__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  WORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_Word",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Word" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_Word" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (arg1)->Read_Word(arg2);
+-  resultobj = SWIG_NewPointerObj((new WORD(static_cast< const WORD& >(result))), SWIGTYPE_p_WORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Word__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  WORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Word",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Word" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (arg1)->Read_Word();
+-  resultobj = SWIG_NewPointerObj((new WORD(static_cast< const WORD& >(result))), SWIGTYPE_p_WORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Word(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_Word__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_Word__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_Word'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Word(CSG_Bytes *,bool)\n"
+-    "    Read_Word(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Int__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_Int",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Int" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_Int" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (int)(arg1)->Read_Int(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Int__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Int" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (int)(arg1)->Read_Int();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Int(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_Int__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_Int__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_Int'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Int(CSG_Bytes *,bool)\n"
+-    "    Read_Int(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_DWord__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  DWORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_DWord",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_DWord" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_DWord" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (arg1)->Read_DWord(arg2);
+-  resultobj = SWIG_NewPointerObj((new DWORD(static_cast< const DWORD& >(result))), SWIGTYPE_p_DWORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_DWord__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  DWORD result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_DWord",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_DWord" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (arg1)->Read_DWord();
+-  resultobj = SWIG_NewPointerObj((new DWORD(static_cast< const DWORD& >(result))), SWIGTYPE_p_DWORD, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_DWord(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_DWord__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_DWord__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_DWord'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_DWord(CSG_Bytes *,bool)\n"
+-    "    Read_DWord(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Float__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_Float",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Float" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_Float" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (float)(arg1)->Read_Float(arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Float__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Float",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Float" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (float)(arg1)->Read_Float();
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Float(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_Float__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_Float__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_Float'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Float(CSG_Bytes *,bool)\n"
+-    "    Read_Float(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Double__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Read_Double",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Double" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Read_Double" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Read_Double(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Double__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Read_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Read_Double" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = (double)(arg1)->Read_Double();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Read_Double(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Bytes_Read_Double__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Bytes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Bytes_Read_Double__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Bytes_Read_Double'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Double(CSG_Bytes *,bool)\n"
+-    "    Read_Double(CSG_Bytes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_toHexString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_toHexString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_toHexString" "', argument " "1"" of type '" "CSG_Bytes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  result = ((CSG_Bytes const *)arg1)->toHexString();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_fromHexString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = (CSG_Bytes *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Bytes_fromHexString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_fromHexString" "', argument " "1"" of type '" "CSG_Bytes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Bytes_fromHexString" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Bytes_fromHexString" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->fromHexString((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Bytes_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Bytes, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Bytes_Array(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Bytes_Array")) SWIG_fail;
+-  result = (CSG_Bytes_Array *)new CSG_Bytes_Array();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes_Array, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Bytes_Array(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *arg1 = (CSG_Bytes_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Bytes_Array",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes_Array, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Bytes_Array" "', argument " "1"" of type '" "CSG_Bytes_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes_Array * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Array_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *arg1 = (CSG_Bytes_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Array_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Array_Destroy" "', argument " "1"" of type '" "CSG_Bytes_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes_Array * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Array_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *arg1 = (CSG_Bytes_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Array_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Array_Get_Count" "', argument " "1"" of type '" "CSG_Bytes_Array const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes_Array * >(argp1);
+-  result = (int)((CSG_Bytes_Array const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Array_Get_Bytes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *arg1 = (CSG_Bytes_Array *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Bytes_Array_Get_Bytes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Array_Get_Bytes" "', argument " "1"" of type '" "CSG_Bytes_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes_Array * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Bytes_Array_Get_Bytes" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Bytes *)(arg1)->Get_Bytes(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Bytes_Array_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes_Array *arg1 = (CSG_Bytes_Array *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Bytes_Array_Add",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Bytes_Array, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Bytes_Array_Add" "', argument " "1"" of type '" "CSG_Bytes_Array *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes_Array * >(argp1);
+-  result = (CSG_Bytes *)(arg1)->Add();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Bytes_Array_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Bytes_Array, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Stack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  size_t arg1 ;
+-  size_t val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Stack *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Stack",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_size_t(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Stack" "', argument " "1"" of type '" "size_t""'");
+-  } 
+-  arg1 = static_cast< size_t >(val1);
+-  result = (CSG_Stack *)new CSG_Stack(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Stack, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Stack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Stack *arg1 = (CSG_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Stack",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Stack, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Stack" "', argument " "1"" of type '" "CSG_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Stack * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Stack_Get_RecordSize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Stack *arg1 = (CSG_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Stack_Get_RecordSize",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Stack_Get_RecordSize" "', argument " "1"" of type '" "CSG_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Stack * >(argp1);
+-  result = (arg1)->Get_RecordSize();
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Stack_Get_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Stack *arg1 = (CSG_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Stack_Get_Size",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Stack_Get_Size" "', argument " "1"" of type '" "CSG_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Stack * >(argp1);
+-  result = (arg1)->Get_Size();
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Stack_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Stack *arg1 = (CSG_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Stack_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Stack_Clear" "', argument " "1"" of type '" "CSG_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Stack * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Stack_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Stack *arg1 = (CSG_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Stack_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Stack_Destroy" "', argument " "1"" of type '" "CSG_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Stack * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Stack_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Stack, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN int Swig_var_gSG_Data_Type_Identifier_set(PyObject *) {
+-  SWIG_Error(SWIG_AttributeError,"Variable gSG_Data_Type_Identifier is read-only.");
+-  return 1;
+-}
+-
+-
+-SWIGINTERN PyObject *Swig_var_gSG_Data_Type_Identifier_get(void) {
+-  PyObject *pyobj = 0;
+-  
+-  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(gSG_Data_Type_Identifier), SWIGTYPE_p_a_32__wchar_t,  0 );
+-  return pyobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Data_Type_Get_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Data_Type_Get_Size",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Data_Type_Get_Size" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  result = SG_Data_Type_Get_Size(arg1);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Data_Type_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Data_Type_Get_Name",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Data_Type_Get_Name" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  result = (wchar_t *)SG_Data_Type_Get_Name(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Data_Type_is_Numeric(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Data_Type_is_Numeric",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Data_Type_is_Numeric" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  result = (bool)SG_Data_Type_is_Numeric(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_DataType_Range_Check(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  double *arg2 = 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_DataType_Range_Check",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_DataType_Range_Check" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_DataType_Range_Check" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_DataType_Range_Check" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)SG_DataType_Range_Check(arg1,*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_File")) SWIG_fail;
+-  result = (CSG_File *)new CSG_File();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_File, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_File *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_File",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_File" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_File" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_File" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (CSG_File *)new CSG_File((CSG_String const &)*arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_File, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_File *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_File",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_File" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_File" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_File *)new CSG_File((CSG_String const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_File, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_File *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_File",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_File" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_File *)new CSG_File((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_File, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_File *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_File",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_File" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_File *)new CSG_File((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_File, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_File(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_File__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_File__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_File__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_File__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_File__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_File'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_File()\n"
+-    "    CSG_File(CSG_String const &,int,bool,bool)\n"
+-    "    CSG_File(CSG_String const &,int,bool)\n"
+-    "    CSG_File(CSG_String const &,int)\n"
+-    "    CSG_File(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_File(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_File",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_File" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Attach(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  FILE *arg2 = (FILE *) 0 ;
+-  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:CSG_File_Attach",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Attach" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_FILE, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Attach" "', argument " "2"" of type '" "FILE *""'"); 
+-  }
+-  arg2 = reinterpret_cast< FILE * >(argp2);
+-  result = (bool)(arg1)->Attach(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Detach(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Detach",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Detach" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)(arg1)->Detach();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Get_Stream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  FILE *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Get_Stream",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Get_Stream" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (FILE *)((CSG_File const *)arg1)->Get_Stream();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FILE, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Get_UnicodeFlag(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Get_UnicodeFlag",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Get_UnicodeFlag" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->Get_UnicodeFlag();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Set_UnicodeFlag(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Set_UnicodeFlag",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Set_UnicodeFlag" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Set_UnicodeFlag" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_UnicodeFlag(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Open__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_File_Open",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Open" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Open" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_File_Open" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_File_Open" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (bool)(arg1)->Open((CSG_String const &)*arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Open__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_File_Open",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Open" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Open" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_File_Open" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Open((CSG_String const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Open__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Open",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Open" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Open" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Open((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Open__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_File_Open",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Open" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Open" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Open((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Open(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_File_Open__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Open__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_File_Open__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_File_Open__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Open'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Open(CSG_File *,CSG_String const &,int,bool,bool)\n"
+-    "    Open(CSG_File *,CSG_String const &,int,bool)\n"
+-    "    Open(CSG_File *,CSG_String const &,int)\n"
+-    "    Open(CSG_File *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Close(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Close",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Close" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)(arg1)->Close();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_is_Open(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_is_Open",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_is_Open" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->is_Open();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_is_EOF(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_is_EOF",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_is_EOF" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->is_EOF();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Length",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Length" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (int)((CSG_File const *)arg1)->Length();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Seek__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Seek",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Seek" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Seek" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Seek" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_File const *)arg1)->Seek(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Seek__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  int arg2 ;
+-  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:CSG_File_Seek",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Seek" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Seek" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)((CSG_File const *)arg1)->Seek(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Seek(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_File_Seek__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Seek__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Seek'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Seek(CSG_File const *,int,int)\n"
+-    "    Seek(CSG_File const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Seek_Start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Seek_Start",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Seek_Start" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->Seek_Start();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Seek_End(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Seek_End",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Seek_End" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->Seek_End();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Tell(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Tell",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Tell" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (int)((CSG_File const *)arg1)->Tell();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Flush(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Flush",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Flush" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (bool)((CSG_File const *)arg1)->Flush();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Printf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Printf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Printf" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Printf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)(arg1)->Printf((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Printf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_File_Printf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scanf__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Scanf",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scanf" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Scanf" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)((CSG_File const *)arg1)->Scanf((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scanf(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_File_Scanf__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Get_Character(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Get_Character",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Get_Character" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (int)((CSG_File const *)arg1)->Get_Character();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  size_t arg3 ;
+-  size_t arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  size_t val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_File_Read",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Read" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Read" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  ecode4 = SWIG_AsVal_size_t(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_File_Read" "', argument " "4"" of type '" "size_t""'");
+-  } 
+-  arg4 = static_cast< size_t >(val4);
+-  result = ((CSG_File const *)arg1)->Read(arg2,arg3,arg4);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Read",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Read" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Read" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = ((CSG_File const *)arg1)->Read(arg2,arg3);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  size_t arg3 ;
+-  size_t arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  size_t val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_File_Write",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Write" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Write" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  ecode4 = SWIG_AsVal_size_t(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_File_Write" "', argument " "4"" of type '" "size_t""'");
+-  } 
+-  arg4 = static_cast< size_t >(val4);
+-  result = ((CSG_File const *)arg1)->Write(arg2,arg3,arg4);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Write",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Write" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Write" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = ((CSG_File const *)arg1)->Write(arg2,arg3);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  size_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  size_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Read",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Read" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Read" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_size_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Read" "', argument " "3"" of type '" "size_t""'");
+-  } 
+-  arg3 = static_cast< size_t >(val3);
+-  result = ((CSG_File const *)arg1)->Read(*arg2,arg3);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Read__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Read__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_size_t(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_File_Read__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Read'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read(CSG_File const *,void *,size_t,size_t)\n"
+-    "    Read(CSG_File const *,void *,size_t)\n"
+-    "    Read(CSG_File const *,CSG_String &,size_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  size_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Write",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Write" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Write" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = ((CSG_File const *)arg1)->Write(*arg2);
+-  resultobj = SWIG_From_size_t(static_cast< size_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_File_Write__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Write__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_size_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_size_t(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_File_Write__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Write'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Write(CSG_File const *,void *,size_t,size_t)\n"
+-    "    Write(CSG_File const *,void *,size_t)\n"
+-    "    Write(CSG_File const *,CSG_String &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Line(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_File_Read_Line",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read_Line" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Read_Line" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Read_Line" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)((CSG_File const *)arg1)->Read_Line(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Int__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Read_Int",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read_Int" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Read_Int" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (int)((CSG_File const *)arg1)->Read_Int(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Int__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Read_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read_Int" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (int)((CSG_File const *)arg1)->Read_Int();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Int(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_File_Read_Int__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_File_Read_Int__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Read_Int'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Int(CSG_File const *,bool)\n"
+-    "    Read_Int(CSG_File const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Int__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Write_Int",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write_Int" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Write_Int" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Write_Int" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Write_Int(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Int__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  int arg2 ;
+-  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:CSG_File_Write_Int",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write_Int" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Write_Int" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Write_Int(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Int(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_File_Write_Int__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Write_Int__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Write_Int'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Write_Int(CSG_File *,int,bool)\n"
+-    "    Write_Int(CSG_File *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Double__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Read_Double",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read_Double" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Read_Double" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_File const *)arg1)->Read_Double(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Double__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Read_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Read_Double" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (double)((CSG_File const *)arg1)->Read_Double();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Read_Double(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_File_Read_Double__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_File_Read_Double__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Read_Double'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Read_Double(CSG_File const *,bool)\n"
+-    "    Read_Double(CSG_File const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Double__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Write_Double",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write_Double" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Write_Double" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Write_Double" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Write_Double(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Double__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Write_Double",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Write_Double" "', argument " "1"" of type '" "CSG_File *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Write_Double" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Write_Double(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Write_Double(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_File_Write_Double__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Write_Double__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Write_Double'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Write_Double(CSG_File *,double,bool)\n"
+-    "    Write_Double(CSG_File *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  int *arg2 = 0 ;
+-  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:CSG_File_Scan",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  result = (bool)((CSG_File const *)arg1)->Scan(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  double *arg2 = 0 ;
+-  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:CSG_File_Scan",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)((CSG_File const *)arg1)->Scan(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  wchar_t arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  wchar_t val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_File_Scan",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_File_Scan" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_wchar_t(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_File_Scan" "', argument " "3"" of type '" "wchar_t""'");
+-  } 
+-  arg3 = static_cast< wchar_t >(val3);
+-  result = (bool)((CSG_File const *)arg1)->Scan(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_File_Scan__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_File_Scan__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_wchar_t(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_File_Scan__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_File_Scan'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Scan(CSG_File const *,int &)\n"
+-    "    Scan(CSG_File const *,double &)\n"
+-    "    Scan(CSG_File const *,CSG_String &,wchar_t)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Scan_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan_Int" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (int)((CSG_File const *)arg1)->Scan_Int();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_File_Scan_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan_Double" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (double)((CSG_File const *)arg1)->Scan_Double();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_File_Scan_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = (CSG_File *) 0 ;
+-  wchar_t arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_File_Scan_String",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_File, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_File_Scan_String" "', argument " "1"" of type '" "CSG_File const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_File_Scan_String" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  result = ((CSG_File const *)arg1)->Scan_String(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_File_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_File, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Dir_Exists(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Dir_Exists",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Dir_Exists" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (bool)SG_Dir_Exists((wchar_t const *)arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Dir_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Dir_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Dir_Create" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (bool)SG_Dir_Create((wchar_t const *)arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Dir_Get_Current(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Dir_Get_Current")) SWIG_fail;
+-  result = SG_Dir_Get_Current();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Exists(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_File_Exists",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Exists" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (bool)SG_File_Exists((wchar_t const *)arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Delete(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_File_Delete",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Delete" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (bool)SG_File_Delete((wchar_t const *)arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Get_TmpName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_File_Get_TmpName",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Get_TmpName" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_File_Get_TmpName" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = SG_File_Get_TmpName((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  bool arg2 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_File_Get_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Get_Name" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_File_Get_Name" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = SG_File_Get_Name((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Get_Path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_File_Get_Path",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Get_Path" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = SG_File_Get_Path((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Make_Path__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_File_Make_Path",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Make_Path" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_File_Make_Path" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_File_Make_Path" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = SG_File_Make_Path((wchar_t const *)arg1,(wchar_t const *)arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Make_Path__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_File_Make_Path",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Make_Path" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_File_Make_Path" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = SG_File_Make_Path((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Make_Path(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_SG_File_Make_Path__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_SG_File_Make_Path__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_File_Make_Path'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_File_Make_Path(wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    SG_File_Make_Path(wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Cmp_Extension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_File_Cmp_Extension",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Cmp_Extension" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_File_Cmp_Extension" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)SG_File_Cmp_Extension((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Get_Extension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_File_Get_Extension",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Get_Extension" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = SG_File_Get_Extension((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_File_Set_Extension(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_File_Set_Extension",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_File_Set_Extension" "', argument " "1"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_File_Set_Extension" "', argument " "1"" of type '" "CSG_String &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_File_Set_Extension" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)SG_File_Set_Extension(*arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Read_Line(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  FILE *arg1 = (FILE *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:SG_Read_Line",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FILE, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Read_Line" "', argument " "1"" of type '" "FILE *""'"); 
+-  }
+-  arg1 = reinterpret_cast< FILE * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Read_Line" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Read_Line" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)SG_Read_Line(arg1,*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Colors")) SWIG_fail;
+-  result = (CSG_Colors *)new CSG_Colors();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Colors",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Colors,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Colors" "', argument " "1"" of type '" "CSG_Colors const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Colors" "', argument " "1"" of type '" "CSG_Colors const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (CSG_Colors *)new CSG_Colors((CSG_Colors const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Colors",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Colors" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Colors" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Colors" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_Colors *)new CSG_Colors(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int arg2 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Colors",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Colors" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Colors" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Colors *)new CSG_Colors(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Colors",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Colors" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = (CSG_Colors *)new CSG_Colors(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Colors(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 == 0) {
+-    return _wrap_new_CSG_Colors__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Colors__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Colors__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Colors__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Colors__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Colors'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Colors()\n"
+-    "    CSG_Colors(CSG_Colors const &)\n"
+-    "    CSG_Colors(int,int,bool)\n"
+-    "    CSG_Colors(int,int)\n"
+-    "    CSG_Colors(int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Colors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Colors",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Colors" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Destroy" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  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:CSG_Colors_Set_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Count" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Count" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (int)((CSG_Colors const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Color__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  long arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  long val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Color",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Color" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Color" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_long(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Color" "', argument " "3"" of type '" "long""'");
+-  } 
+-  arg3 = static_cast< long >(val3);
+-  result = (bool)(arg1)->Set_Color(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Color__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Colors_Set_Color",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Color" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Color" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Color" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Colors_Set_Color" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Colors_Set_Color" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Set_Color(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Color(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_long(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Colors_Set_Color__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Colors_Set_Color__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Set_Color'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Color(CSG_Colors *,int,long)\n"
+-    "    Set_Color(CSG_Colors *,int,int,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Red(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Red",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Red" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Red" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Red" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Red(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Green(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Green",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Green" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Green" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Green" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Green(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Blue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Blue",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Blue" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Blue" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Blue" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Blue(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Brightness",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Brightness" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Brightness" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Brightness" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Brightness(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Color(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Colors_Get_Color",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Color" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Get_Color" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (long)((CSG_Colors const *)arg1)->Get_Color(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Red(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Colors_Get_Red",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Red" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Get_Red" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (long)((CSG_Colors const *)arg1)->Get_Red(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Green(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Colors_Get_Green",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Green" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Get_Green" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (long)((CSG_Colors const *)arg1)->Get_Green(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Blue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Colors_Get_Blue",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Blue" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Get_Blue" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (long)((CSG_Colors const *)arg1)->Get_Blue(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Get_Brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Colors_Get_Brightness",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Get_Brightness" "', argument " "1"" of type '" "CSG_Colors const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Get_Brightness" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (long)((CSG_Colors const *)arg1)->Get_Brightness(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Default__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  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:CSG_Colors_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Default" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Default" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Default(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Default__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Set_Default",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Default" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (bool)(arg1)->Set_Default();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Default(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Colors_Set_Default__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Colors_Set_Default__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Set_Default'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Default(CSG_Colors *,int)\n"
+-    "    Set_Default(CSG_Colors *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Palette__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Colors_Set_Palette",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Palette" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Palette" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Palette" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Colors_Set_Palette" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Set_Palette(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Palette__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Palette",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Palette" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Palette" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Palette" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Set_Palette(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Palette__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  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:CSG_Colors_Set_Palette",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Palette" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Palette" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Palette(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Palette(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Colors_Set_Palette__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Colors_Set_Palette__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Colors_Set_Palette__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Set_Palette'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Palette(CSG_Colors *,int,bool,int)\n"
+-    "    Set_Palette(CSG_Colors *,int,bool)\n"
+-    "    Set_Palette(CSG_Colors *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  long arg2 ;
+-  long arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  long val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Ramp",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Ramp" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Ramp" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_long(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Ramp" "', argument " "3"" of type '" "long""'");
+-  } 
+-  arg3 = static_cast< long >(val3);
+-  result = (bool)(arg1)->Set_Ramp(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  long arg2 ;
+-  long arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  long val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Colors_Set_Ramp",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Ramp" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Ramp" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_long(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Ramp" "', argument " "3"" of type '" "long""'");
+-  } 
+-  arg3 = static_cast< long >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Colors_Set_Ramp" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Colors_Set_Ramp" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Set_Ramp(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_long(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Colors_Set_Ramp__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_long(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Colors_Set_Ramp__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Set_Ramp'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Ramp(CSG_Colors *,long,long)\n"
+-    "    Set_Ramp(CSG_Colors *,long,long,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp_Brighness__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Set_Ramp_Brighness",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Ramp_Brighness(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp_Brighness__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Colors_Set_Ramp_Brighness",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Colors_Set_Ramp_Brighness" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Set_Ramp_Brighness(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Set_Ramp_Brighness(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Colors_Set_Ramp_Brighness__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Colors_Set_Ramp_Brighness__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Set_Ramp_Brighness'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Ramp_Brighness(CSG_Colors *,int,int)\n"
+-    "    Set_Ramp_Brighness(CSG_Colors *,int,int,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Random(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Random",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Random" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (bool)(arg1)->Random();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Invert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Invert",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Invert" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (bool)(arg1)->Invert();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Revert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Colors_Revert",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Revert" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  result = (bool)(arg1)->Revert();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  CSG_Colors *arg2 = 0 ;
+-  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:CSG_Colors_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Assign" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Colors,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Colors_Assign" "', argument " "2"" of type '" "CSG_Colors const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Colors_Assign" "', argument " "2"" of type '" "CSG_Colors const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Colors * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Colors const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  CSG_Colors *arg2 = (CSG_Colors *) 0 ;
+-  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:CSG_Colors_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Assign" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Colors_Assign" "', argument " "2"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Colors * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Assign(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Colors, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Colors_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Colors_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Colors_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Colors *,CSG_Colors const &)\n"
+-    "    Assign(CSG_Colors *,CSG_Colors *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Colors_Load",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Load" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Colors_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Colors_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Colors_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Save" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Colors_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Colors_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Save" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Colors_Serialize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Colors *arg1 = (CSG_Colors *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  bool arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Colors_Serialize",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Colors_Serialize" "', argument " "1"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Colors * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Colors_Serialize" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Colors_Serialize" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Colors_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Colors_Serialize" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Serialize(*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Colors_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Colors, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Translator")) SWIG_fail;
+-  result = (CSG_Translator *)new CSG_Translator();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Translator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Translator",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Translator" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  bool arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Translator",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Translator" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Translator" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Translator" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (CSG_Translator *)new CSG_Translator((CSG_String const &)*arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  bool arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Translator",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Translator" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Translator" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (CSG_Translator *)new CSG_Translator((CSG_String const &)*arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  bool arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Translator",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Translator" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (CSG_Translator *)new CSG_Translator((CSG_String const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Translator",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (CSG_Translator *)new CSG_Translator((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Translator",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Translator *)new CSG_Translator((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Translator_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Translator_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Translator_Create" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Translator_Create" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Translator_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Translator_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Translator_Create" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Translator_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Translator_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Translator_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Translator_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Translator",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Translator" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Translator" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (CSG_Translator *)new CSG_Translator(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Translator",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Translator" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (CSG_Translator *)new CSG_Translator(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Translator",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Translator" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Translator *)new CSG_Translator(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Translator",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Translator" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Translator *)new CSG_Translator(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Translator(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Translator__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Translator__SWIG_5(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Translator__SWIG_9(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Translator__SWIG_8(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Translator__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(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_new_CSG_Translator__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Translator__SWIG_7(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Translator__SWIG_6(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Translator__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Translator__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Translator'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Translator()\n"
+-    "    CSG_Translator(CSG_String const &,bool,int,int,bool)\n"
+-    "    CSG_Translator(CSG_String const &,bool,int,int)\n"
+-    "    CSG_Translator(CSG_String const &,bool,int)\n"
+-    "    CSG_Translator(CSG_String const &,bool)\n"
+-    "    CSG_Translator(CSG_String const &)\n"
+-    "    CSG_Translator(CSG_Table *,int,int,bool)\n"
+-    "    CSG_Translator(CSG_Table *,int,int)\n"
+-    "    CSG_Translator(CSG_Table *,int)\n"
+-    "    CSG_Translator(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  int arg3 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Translator_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Translator_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Translator_Create" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Translator_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Translator_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Translator_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  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:CSG_Translator_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Create" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Create" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); 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_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Translator_Create__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Translator_Create__SWIG_8(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Translator_Create__SWIG_7(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Translator_Create__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Translator_Create__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Translator_Create__SWIG_6(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Translator_Create__SWIG_5(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Translator_Create__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Translator_Create__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Translator_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Translator *,CSG_String const &,bool,int,int,bool)\n"
+-    "    Create(CSG_Translator *,CSG_String const &,bool,int,int)\n"
+-    "    Create(CSG_Translator *,CSG_String const &,bool,int)\n"
+-    "    Create(CSG_Translator *,CSG_String const &,bool)\n"
+-    "    Create(CSG_Translator *,CSG_String const &)\n"
+-    "    Create(CSG_Translator *,CSG_Table *,int,int,bool)\n"
+-    "    Create(CSG_Translator *,CSG_Table *,int,int)\n"
+-    "    Create(CSG_Translator *,CSG_Table *,int)\n"
+-    "    Create(CSG_Translator *,CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Translator_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Destroy" "', argument " "1"" of type '" "CSG_Translator *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_is_CaseSensitive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Translator_is_CaseSensitive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_is_CaseSensitive" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  result = (bool)((CSG_Translator const *)arg1)->is_CaseSensitive();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Translator_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Count" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  result = (int)((CSG_Translator const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Translator_Get_Text",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Text" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Translator_Get_Text" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Translator const *)arg1)->Get_Text(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Translation__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Translator_Get_Translation",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Translation" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Translator_Get_Translation" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Translator const *)arg1)->Get_Translation(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Translation__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Translator_Get_Translation",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Translation" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Get_Translation" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Translator_Get_Translation" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (wchar_t *)((CSG_Translator const *)arg1)->Get_Translation((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Translation__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Translator_Get_Translation",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Translation" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Get_Translation" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (wchar_t *)((CSG_Translator const *)arg1)->Get_Translation((wchar_t const *)arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Translation__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *arg1 = (CSG_Translator *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Translator_Get_Translation",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Translator_Get_Translation" "', argument " "1"" of type '" "CSG_Translator const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Translator * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Translator_Get_Translation" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Translator_Get_Translation" "', argument " "3"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Translator_Get_Translation" "', argument " "3"" of type '" "CSG_String &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)((CSG_Translator const *)arg1)->Get_Translation((wchar_t const *)arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Translator_Get_Translation(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Translator_Get_Translation__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Translator_Get_Translation__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Translator_Get_Translation__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Translator, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Translator_Get_Translation__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Translator_Get_Translation'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Translation(CSG_Translator const *,int)\n"
+-    "    Get_Translation(CSG_Translator const *,wchar_t const *,bool)\n"
+-    "    Get_Translation(CSG_Translator const *,wchar_t const *)\n"
+-    "    Get_Translation(CSG_Translator const *,wchar_t const *,CSG_String &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Translator_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Translator, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Translator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Translator *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Get_Translator")) SWIG_fail;
+-  result = (CSG_Translator *) &SG_Get_Translator();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Translator, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Translate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Translate",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Translate" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (wchar_t *)SG_Translate((wchar_t const *)arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_UI_Parameter")) SWIG_fail;
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter((wchar_t const *)arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  int res1 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_UI_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_UI_Parameter,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "CSG_UI_Parameter const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_UI_Parameter" "', argument " "1"" of type '" "CSG_UI_Parameter const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  result = (CSG_UI_Parameter *)new CSG_UI_Parameter((CSG_UI_Parameter const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_UI_Parameter(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_UI_Parameter__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_UI_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_6(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *ptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &ptr, 0, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_5(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_bool(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_UI_Parameter__SWIG_1(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_UI_Parameter'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_UI_Parameter()\n"
+-    "    CSG_UI_Parameter(bool)\n"
+-    "    CSG_UI_Parameter(int)\n"
+-    "    CSG_UI_Parameter(double)\n"
+-    "    CSG_UI_Parameter(wchar_t const *)\n"
+-    "    CSG_UI_Parameter(void *)\n"
+-    "    CSG_UI_Parameter(CSG_UI_Parameter const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_True_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_UI_Parameter_True_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_True_set" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_UI_Parameter_True_set" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  if (arg1) (arg1)->True = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_True_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_UI_Parameter_True_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_True_get" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  result = (bool) ((arg1)->True);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_Number_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_UI_Parameter_Number_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_Number_set" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_UI_Parameter_Number_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->Number = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_Number_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_UI_Parameter_Number_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_Number_get" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  result = (double) ((arg1)->Number);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_Pointer_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_UI_Parameter_Pointer_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_Pointer_set" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_UI_Parameter_Pointer_set" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  if (arg1) (arg1)->Pointer = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_UI_Parameter_Pointer_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_UI_Parameter_Pointer_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_UI_Parameter_Pointer_get" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  result = (void *) ((arg1)->Pointer);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_UI_Parameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_UI_Parameter *arg1 = (CSG_UI_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_UI_Parameter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_UI_Parameter, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_UI_Parameter" "', argument " "1"" of type '" "CSG_UI_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_UI_Parameter * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_UI_Parameter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_UI_Parameter, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Set_UI_Callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_PFNC_UI_Callback arg1 = (TSG_PFNC_UI_Callback) 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Set_UI_Callback",&obj0)) SWIG_fail;
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj0, (void**)(&arg1), SWIGTYPE_p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "SG_Set_UI_Callback" "', argument " "1"" of type '" "TSG_PFNC_UI_Callback""'"); 
+-    }
+-  }
+-  result = (bool)SG_Set_UI_Callback(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_UI_Callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_PFNC_UI_Callback result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Get_UI_Callback")) SWIG_fail;
+-  result = (TSG_PFNC_UI_Callback)SG_Get_UI_Callback();
+-  resultobj = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Progress_Lock(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Progress_Lock",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Progress_Lock" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (int)SG_UI_Progress_Lock(arg1);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Get_Okay__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Process_Get_Okay",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Process_Get_Okay" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (bool)SG_UI_Process_Get_Okay(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Get_Okay__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_UI_Process_Get_Okay")) SWIG_fail;
+-  result = (bool)SG_UI_Process_Get_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Get_Okay(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_UI_Process_Get_Okay__SWIG_1(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_bool(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_UI_Process_Get_Okay__SWIG_0(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_UI_Process_Get_Okay'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_UI_Process_Get_Okay(bool)\n"
+-    "    SG_UI_Process_Get_Okay()\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Okay__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Process_Set_Okay",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Process_Set_Okay" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (bool)SG_UI_Process_Set_Okay(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Okay__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_UI_Process_Set_Okay")) SWIG_fail;
+-  result = (bool)SG_UI_Process_Set_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Okay(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_UI_Process_Set_Okay__SWIG_1(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_bool(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_UI_Process_Set_Okay__SWIG_0(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_UI_Process_Set_Okay'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_UI_Process_Set_Okay(bool)\n"
+-    "    SG_UI_Process_Set_Okay()\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Progress(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Process_Set_Progress",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Process_Set_Progress" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_Process_Set_Progress" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)SG_UI_Process_Set_Progress(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Ready(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_UI_Process_Set_Ready")) SWIG_fail;
+-  result = (bool)SG_UI_Process_Set_Ready();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Process_Set_Text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Process_Set_Text",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Process_Set_Text" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  SG_UI_Process_Set_Text((wchar_t const *)arg1);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Stop_Execution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Stop_Execution",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Stop_Execution" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (bool)SG_UI_Stop_Execution(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Dlg_Message(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Dlg_Message",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Dlg_Message" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_Dlg_Message" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  SG_UI_Dlg_Message((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Dlg_Continue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Dlg_Continue",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Dlg_Continue" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_Dlg_Continue" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)SG_UI_Dlg_Continue((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Dlg_Error(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Dlg_Error",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Dlg_Error" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_Dlg_Error" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)SG_UI_Dlg_Error((wchar_t const *)arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Dlg_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Dlg_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Dlg_Parameters" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_Dlg_Parameters" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)SG_UI_Dlg_Parameters(arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Lock(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Msg_Lock",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_UI_Msg_Lock" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  result = (int)SG_UI_Msg_Lock(arg1);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  bool arg2 ;
+-  TSG_UI_MSG_STYLE arg3 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_UI_Msg_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Msg_Add" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_Msg_Add" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_UI_Msg_Add" "', argument " "3"" of type '" "TSG_UI_MSG_STYLE""'");
+-  } 
+-  arg3 = static_cast< TSG_UI_MSG_STYLE >(val3);
+-  SG_UI_Msg_Add((wchar_t const *)arg1,arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  bool arg2 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Msg_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Msg_Add" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_Msg_Add" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  SG_UI_Msg_Add((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_UI_Msg_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(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_SG_UI_Msg_Add__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_UI_Msg_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_UI_Msg_Add(wchar_t const *,bool,TSG_UI_MSG_STYLE)\n"
+-    "    SG_UI_Msg_Add(wchar_t const *,bool)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add_Error(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_Msg_Add_Error",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Msg_Add_Error" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  SG_UI_Msg_Add_Error((wchar_t const *)arg1);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add_Execution__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  bool arg2 ;
+-  TSG_UI_MSG_STYLE arg3 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_UI_Msg_Add_Execution",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Msg_Add_Execution" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_Msg_Add_Execution" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_UI_Msg_Add_Execution" "', argument " "3"" of type '" "TSG_UI_MSG_STYLE""'");
+-  } 
+-  arg3 = static_cast< TSG_UI_MSG_STYLE >(val3);
+-  SG_UI_Msg_Add_Execution((wchar_t const *)arg1,arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add_Execution__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  bool arg2 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_Msg_Add_Execution",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_Msg_Add_Execution" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_Msg_Add_Execution" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  SG_UI_Msg_Add_Execution((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Msg_Add_Execution(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_UI_Msg_Add_Execution__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_AsWCharPtrAndSize(argv[0], 0, NULL, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(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_SG_UI_Msg_Add_Execution__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_UI_Msg_Add_Execution'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_UI_Msg_Add_Execution(wchar_t const *,bool,TSG_UI_MSG_STYLE)\n"
+-    "    SG_UI_Msg_Add_Execution(wchar_t const *,bool)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Find(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int arg2 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_UI_DataObject_Find",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Find" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_DataObject_Find" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Data_Object *)SG_UI_DataObject_Find((wchar_t const *)arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Check(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  int arg2 ;
+-  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:SG_UI_DataObject_Check",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Check" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_DataObject_Check" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)SG_UI_DataObject_Check(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  int arg2 ;
+-  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:SG_UI_DataObject_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Add" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_DataObject_Add" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)SG_UI_DataObject_Add(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  int arg2 ;
+-  CSG_Parameters *arg3 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_UI_DataObject_Update",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Update" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_DataObject_Update" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_UI_DataObject_Update" "', argument " "3"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Parameters * >(argp3);
+-  result = (bool)SG_UI_DataObject_Update(arg1,arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Show(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  int arg2 ;
+-  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:SG_UI_DataObject_Show",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Show" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_UI_DataObject_Show" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)SG_UI_DataObject_Show(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_asImage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  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:SG_UI_DataObject_asImage",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_asImage" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_DataObject_asImage" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (bool)SG_UI_DataObject_asImage(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Colors_Get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Colors *arg2 = (CSG_Colors *) 0 ;
+-  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:SG_UI_DataObject_Colors_Get",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Colors_Get" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_DataObject_Colors_Get" "', argument " "2"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Colors * >(argp2);
+-  result = (bool)SG_UI_DataObject_Colors_Get(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Colors_Set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Colors *arg2 = (CSG_Colors *) 0 ;
+-  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:SG_UI_DataObject_Colors_Set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Colors_Set" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_DataObject_Colors_Set" "', argument " "2"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Colors * >(argp2);
+-  result = (bool)SG_UI_DataObject_Colors_Set(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Params_Get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:SG_UI_DataObject_Params_Get",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Params_Get" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_DataObject_Params_Get" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)SG_UI_DataObject_Params_Get(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Params_Set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:SG_UI_DataObject_Params_Set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Params_Set" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_UI_DataObject_Params_Set" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)SG_UI_DataObject_Params_Set(arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_DataObject_Get_All(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_UI_DataObject_Get_All",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_UI_DataObject_Get_All" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (bool)SG_UI_DataObject_Get_All(arg1);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Get_Window_Main(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_UI_Get_Window_Main")) SWIG_fail;
+-  result = (void *)SG_UI_Get_Window_Main();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_UI_Get_Application_Path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_UI_Get_Application_Path")) SWIG_fail;
+-  result = SG_UI_Get_Application_Path();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_MetaData")) SWIG_fail;
+-  result = (CSG_MetaData *)new CSG_MetaData();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Create" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (CSG_MetaData *)new CSG_MetaData((CSG_MetaData const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  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:CSG_MetaData_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Create" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_MetaData const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_MetaData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_MetaData" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_MetaData *)new CSG_MetaData((CSG_String const &)*arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_MetaData *)new CSG_MetaData((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Create" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Create" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_File *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_MetaData" "', argument " "1"" of type '" "CSG_File &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_File * >(argp1);
+-  result = (CSG_MetaData *)new CSG_MetaData(*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_MetaData(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 == 0) {
+-    return _wrap_new_CSG_MetaData__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_MetaData__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_MetaData__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_File, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_MetaData__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_MetaData__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_MetaData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_MetaData()\n"
+-    "    CSG_MetaData(CSG_MetaData const &)\n"
+-    "    CSG_MetaData(CSG_String const &,wchar_t const *)\n"
+-    "    CSG_MetaData(CSG_String const &)\n"
+-    "    CSG_MetaData(CSG_File &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  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:CSG_MetaData_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Create" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Create" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  result = (bool)(arg1)->Create(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Create(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_MetaData_Create__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_File, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Create__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_MetaData *)\n"
+-    "    Create(CSG_MetaData *,CSG_MetaData const &)\n"
+-    "    Create(CSG_MetaData *,CSG_String const &,wchar_t const *)\n"
+-    "    Create(CSG_MetaData *,CSG_String const &)\n"
+-    "    Create(CSG_MetaData *,CSG_File &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_MetaData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_MetaData" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Destroy" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Load__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Load",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Load" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Load" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Load((CSG_String const &)*arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Load__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Load",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Load" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Save" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Save" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Save((CSG_String const &)*arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Save" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)((CSG_MetaData const *)arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Load__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  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:CSG_MetaData_Load",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Load" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Load" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  result = (bool)(arg1)->Load(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Load(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Load__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_File, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Load__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Load__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Load'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Load(CSG_MetaData *,CSG_String const &,wchar_t const *)\n"
+-    "    Load(CSG_MetaData *,CSG_String const &)\n"
+-    "    Load(CSG_MetaData *,CSG_File &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Save__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  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:CSG_MetaData_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Save" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Save" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  result = (bool)((CSG_MetaData const *)arg1)->Save(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_File, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Save__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_MetaData const *,CSG_String const &,wchar_t const *)\n"
+-    "    Save(CSG_MetaData const *,CSG_String const &)\n"
+-    "    Save(CSG_MetaData const *,CSG_File &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Load_WKT(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Load_WKT",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Load_WKT" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Load_WKT" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Load_WKT" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load_WKT((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Save_WKT(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Save_WKT",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Save_WKT" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Save_WKT" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Save_WKT" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)((CSG_MetaData const *)arg1)->Save_WKT(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Assign" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Assign" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Assign" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Assign" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Assign((CSG_MetaData const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  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:CSG_MetaData_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Assign" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Assign" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Assign" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_MetaData const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Assign__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_MetaData *,CSG_MetaData const &,bool)\n"
+-    "    Assign(CSG_MetaData *,CSG_MetaData const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData___iadd__" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData___iadd__" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData___iadd__" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (CSG_MetaData *) &(arg1)->operator +=((CSG_MetaData const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Name" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (CSG_String *) &((CSG_MetaData const *)arg1)->Get_Name();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 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:CSG_MetaData_Set_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Name" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Name" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Name" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  (arg1)->Set_Name((CSG_String const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Content(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Get_Content",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Content" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (CSG_String *) &((CSG_MetaData const *)arg1)->Get_Content();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Content__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 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:CSG_MetaData_Set_Content",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Content" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  (arg1)->Set_Content((CSG_String const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Content__SWIG_1__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Set_Content",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Content" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Content" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Content((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Content__SWIG_1(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_MetaData_Set_Content__SWIG_1__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Content(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Set_Content__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc >= 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        if (argc <= 2) {
+-          return _wrap_CSG_MetaData_Set_Content__SWIG_1(self, args);
+-        }
+-        return _wrap_CSG_MetaData_Set_Content__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Set_Content'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Content(CSG_MetaData *,CSG_String const &)\n"
+-    "    Set_Content(CSG_MetaData *,wchar_t const *,...)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Content__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Cmp_Content",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Cmp_Content" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Cmp_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Cmp_Content" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Cmp_Content((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Content__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Cmp_Content",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Cmp_Content" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Cmp_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Content" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)((CSG_MetaData const *)arg1)->Cmp_Content((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Content(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Cmp_Content__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Cmp_Content__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Cmp_Content'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Cmp_Content(CSG_MetaData const *,CSG_String const &,bool)\n"
+-    "    Cmp_Content(CSG_MetaData const *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Children_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Get_Children_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Children_Count" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (int)((CSG_MetaData const *)arg1)->Get_Children_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Child__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Get_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Child" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_MetaData_Get_Child" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_MetaData *)((CSG_MetaData const *)arg1)->Get_Child(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Child__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Get_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Child" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Get_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (CSG_MetaData *)((CSG_MetaData const *)arg1)->Get_Child((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Child(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Get_Child__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Get_Child__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Get_Child'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Child(CSG_MetaData const *,int)\n"
+-    "    Get_Child(CSG_MetaData const *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Add_Child",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (CSG_MetaData *)(arg1)->Add_Child();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Child",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Add_Child" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (CSG_MetaData *)(arg1)->Add_Child((CSG_String const &)*arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Add_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (CSG_MetaData *)(arg1)->Add_Child((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Child",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Add_Child" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (CSG_MetaData *)(arg1)->Add_Child((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Child",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Add_Child" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (CSG_MetaData *)(arg1)->Add_Child((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Child(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_MetaData_Add_Child__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Add_Child__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Child__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Child__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Child__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Add_Child'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Child(CSG_MetaData *)\n"
+-    "    Add_Child(CSG_MetaData *,CSG_String const &,wchar_t const *)\n"
+-    "    Add_Child(CSG_MetaData *,CSG_String const &)\n"
+-    "    Add_Child(CSG_MetaData *,CSG_String const &,double)\n"
+-    "    Add_Child(CSG_MetaData *,CSG_String const &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Del_Child__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  int arg2 ;
+-  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:CSG_MetaData_Del_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Del_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_MetaData_Del_Child" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Child(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Del_Child__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_MetaData_Del_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Del_Child" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Del_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Del_Child" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Del_Child((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Del_Child(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Del_Child__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Del_Child__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Del_Child'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Child(CSG_MetaData *,int)\n"
+-    "    Del_Child(CSG_MetaData *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_is_Valid" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (bool)((CSG_MetaData const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_MetaData_Get_Property_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property_Count" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  result = (int)((CSG_MetaData const *)arg1)->Get_Property_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Get_Property_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property_Name" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_MetaData_Get_Property_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_String *) &((CSG_MetaData const *)arg1)->Get_Property_Name(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Get_Property",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_MetaData const *)arg1)->Get_Property(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_MetaData_Get_Property",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (wchar_t *)((CSG_MetaData const *)arg1)->Get_Property((CSG_String const &)*arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Get_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "CSG_String &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Get_Property((CSG_String const &)*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  double *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Get_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Get_Property((CSG_String const &)*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Get_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Get_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Get_Property" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Get_Property((CSG_String const &)*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Get_Property(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Get_Property__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_MetaData_Get_Property__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Get_Property__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Get_Property__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Get_Property__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Get_Property'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Property(CSG_MetaData const *,int)\n"
+-    "    Get_Property(CSG_MetaData const *,CSG_String const &)\n"
+-    "    Get_Property(CSG_MetaData const *,CSG_String const &,CSG_String &)\n"
+-    "    Get_Property(CSG_MetaData const *,CSG_String const &,double &)\n"
+-    "    Get_Property(CSG_MetaData const *,CSG_String const &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Property__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Add_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)(arg1)->Add_Property((CSG_String const &)*arg2,(CSG_String const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Property__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Add_Property" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Add_Property((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Property__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Add_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Add_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Add_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Add_Property" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Add_Property((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Add_Property(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Property__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Property__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Add_Property__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Add_Property'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Property(CSG_MetaData *,CSG_String const &,CSG_String const &)\n"
+-    "    Add_Property(CSG_MetaData *,CSG_String const &,double)\n"
+-    "    Add_Property(CSG_MetaData *,CSG_String const &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_MetaData_Set_Property" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,(CSG_String const &)*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,(CSG_String const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  double arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_MetaData_Set_Property" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_MetaData_Set_Property" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Set_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Set_Property" "', argument " "1"" of type '" "CSG_MetaData *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Set_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_MetaData_Set_Property" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Property((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Set_Property(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Set_Property__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Set_Property__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Set_Property__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_MetaData_Set_Property__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_MetaData_Set_Property__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_MetaData_Set_Property__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Set_Property'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,CSG_String const &,bool)\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,CSG_String const &)\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,double,bool)\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,double)\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,int,bool)\n"
+-    "    Set_Property(CSG_MetaData *,CSG_String const &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Property__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_MetaData_Cmp_Property",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)((CSG_MetaData const *)arg1)->Cmp_Property((CSG_String const &)*arg2,(CSG_String const &)*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Property__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_MetaData *arg1 = (CSG_MetaData *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_MetaData_Cmp_Property",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "1"" of type '" "CSG_MetaData const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_MetaData * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Property" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_MetaData_Cmp_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_MetaData_Cmp_Property" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)((CSG_MetaData const *)arg1)->Cmp_Property((CSG_String const &)*arg2,(CSG_String const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_MetaData_Cmp_Property(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_MetaData_Cmp_Property__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_MetaData_Cmp_Property__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_MetaData_Cmp_Property'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Cmp_Property(CSG_MetaData const *,CSG_String const &,CSG_String const &,bool)\n"
+-    "    Cmp_Property(CSG_MetaData const *,CSG_String const &,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_MetaData_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_MetaData, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_x_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_x_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_x_set" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_x_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->x = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_x_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_x_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_x_get" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  result = (double) ((arg1)->x);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_y_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_y_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_y_set" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_y_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->y = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_y_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_y_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_y_get" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  result = (double) ((arg1)->y);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_TSG_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_TSG_Point")) SWIG_fail;
+-  result = (TSG_Point *)new TSG_Point();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_TSG_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_TSG_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TSG_Point" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *TSG_Point_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_SSG_Point, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_x_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_Z_x_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_x_set" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_Z_x_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->x = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_x_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_Z_x_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_x_get" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  result = (double) ((arg1)->x);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_y_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_Z_y_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_y_set" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_Z_y_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->y = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_y_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_Z_y_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_y_get" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  result = (double) ((arg1)->y);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_z_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_Z_z_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_z_set" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_Z_z_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->z = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Z_z_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_Z_z_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Z_z_get" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  result = (double) ((arg1)->z);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_TSG_Point_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_TSG_Point_Z")) SWIG_fail;
+-  result = (TSG_Point_Z *)new TSG_Point_Z();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_TSG_Point_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = (TSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_TSG_Point_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TSG_Point_Z" "', argument " "1"" of type '" "TSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *TSG_Point_Z_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_SSG_Point_Z, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_x_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_ZM_x_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_x_set" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_ZM_x_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->x = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_x_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_ZM_x_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_x_get" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  result = (double) ((arg1)->x);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_y_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_ZM_y_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_y_set" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_ZM_y_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->y = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_y_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_ZM_y_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_y_get" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  result = (double) ((arg1)->y);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_z_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_ZM_z_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_z_set" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_ZM_z_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->z = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_z_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_ZM_z_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_z_get" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  result = (double) ((arg1)->z);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_m_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_ZM_m_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_m_set" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_ZM_m_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->m = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_ZM_m_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_ZM_m_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_ZM_m_get" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  result = (double) ((arg1)->m);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_TSG_Point_ZM(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_TSG_Point_ZM")) SWIG_fail;
+-  result = (TSG_Point_ZM *)new TSG_Point_ZM();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_TSG_Point_ZM(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = (TSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_TSG_Point_ZM",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_ZM, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TSG_Point_ZM" "', argument " "1"" of type '" "TSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *TSG_Point_ZM_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_SSG_Point_ZM, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Int_x_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *arg1 = (TSG_Point_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_Int_x_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Int_x_set" "', argument " "1"" of type '" "TSG_Point_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_Int_x_set" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  if (arg1) (arg1)->x = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Int_x_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *arg1 = (TSG_Point_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_Int_x_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Int_x_get" "', argument " "1"" of type '" "TSG_Point_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Int * >(argp1);
+-  result = (int) ((arg1)->x);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Int_y_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *arg1 = (TSG_Point_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Point_Int_y_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Int_y_set" "', argument " "1"" of type '" "TSG_Point_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Point_Int_y_set" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  if (arg1) (arg1)->y = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Point_Int_y_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *arg1 = (TSG_Point_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Point_Int_y_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Point_Int_y_get" "', argument " "1"" of type '" "TSG_Point_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Int * >(argp1);
+-  result = (int) ((arg1)->y);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_TSG_Point_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_TSG_Point_Int")) SWIG_fail;
+-  result = (TSG_Point_Int *)new TSG_Point_Int();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point_Int, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_TSG_Point_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Int *arg1 = (TSG_Point_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_TSG_Point_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point_Int, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TSG_Point_Int" "', argument " "1"" of type '" "TSG_Point_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Int * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *TSG_Point_Int_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_SSG_Point_Int, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_xMin_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Rect_xMin_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_xMin_set" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Rect_xMin_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->xMin = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_xMin_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Rect_xMin_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_xMin_get" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (double) ((arg1)->xMin);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_yMin_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Rect_yMin_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_yMin_set" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Rect_yMin_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->yMin = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_yMin_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Rect_yMin_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_yMin_get" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (double) ((arg1)->yMin);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_xMax_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Rect_xMax_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_xMax_set" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Rect_xMax_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->xMax = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_xMax_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Rect_xMax_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_xMax_get" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (double) ((arg1)->xMax);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_yMax_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:TSG_Rect_yMax_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_yMax_set" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "TSG_Rect_yMax_set" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  if (arg1) (arg1)->yMax = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_TSG_Rect_yMax_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:TSG_Rect_yMax_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TSG_Rect_yMax_get" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (double) ((arg1)->yMax);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_TSG_Rect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_TSG_Rect")) SWIG_fail;
+-  result = (TSG_Rect *)new TSG_Rect();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_TSG_Rect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = (TSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_TSG_Rect",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Rect, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_TSG_Rect" "', argument " "1"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *TSG_Rect_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_SSG_Rect, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Point")) SWIG_fail;
+-  result = (CSG_Point *)new CSG_Point();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point" "', argument " "1"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point" "', argument " "1"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  result = (CSG_Point *)new CSG_Point((CSG_Point const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  result = (CSG_Point *)new CSG_Point((TSG_Point const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Point",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Point" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Point *)new CSG_Point(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point(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 == 0) {
+-    return _wrap_new_CSG_Point__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Point__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Point()\n"
+-    "    CSG_Point(CSG_Point const &)\n"
+-    "    CSG_Point(TSG_Point const &)\n"
+-    "    CSG_Point(double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Point" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Get_Type" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  result = (TSG_Point_Type)((CSG_Point const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_Get_X",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Get_X" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  result = (double)((CSG_Point const *)arg1)->Get_X();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Set_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Set_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Set_X" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Set_X" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_X(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_Get_Y",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Get_Y" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  result = (double)((CSG_Point const *)arg1)->Get_Y();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Set_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Set_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Set_Y" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Set_Y" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Y(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  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:CSG_Point___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___eq__" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___eq__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___eq__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (bool)((CSG_Point const *)arg1)->operator ==((CSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  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:CSG_Point___ne__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___ne__" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___ne__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___ne__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (bool)((CSG_Point const *)arg1)->operator !=((CSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___add__" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___add__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___add__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = ((CSG_Point const *)arg1)->operator +((CSG_Point const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point(static_cast< const CSG_Point& >(result))), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___sub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___sub__" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___sub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___sub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = ((CSG_Point const *)arg1)->operator -((CSG_Point const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point(static_cast< const CSG_Point& >(result))), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___iadd__" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___iadd__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___iadd__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (CSG_Point *) &(arg1)->operator +=((CSG_Point const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point___isub__" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point___isub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point___isub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (CSG_Point *) &(arg1)->operator -=((CSG_Point const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Point_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Assign" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Assign(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Point_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Assign" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Assign" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Assign" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Assign((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Point_Assign__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Point *,double,double)\n"
+-    "    Assign(CSG_Point *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Point_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Add" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Add" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Add" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Add((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Subtract(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Point_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Subtract" "', argument " "1"" of type '" "CSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Subtract" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Subtract" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Subtract((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_is_Equal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Point_is_Equal",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_is_Equal" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_is_Equal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_is_Equal" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)((CSG_Point const *)arg1)->is_Equal(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_is_Equal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = (CSG_Point *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  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:CSG_Point_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_is_Equal" "', argument " "1"" of type '" "CSG_Point const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_is_Equal" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_is_Equal" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (bool)((CSG_Point const *)arg1)->is_Equal((CSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_is_Equal(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_is_Equal__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Point_is_Equal__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_is_Equal'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Equal(CSG_Point const *,double,double)\n"
+-    "    is_Equal(CSG_Point const *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Point_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Point, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Point_Z")) SWIG_fail;
+-  result = (CSG_Point_Z *)new CSG_Point_Z();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point_Z" "', argument " "1"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point_Z" "', argument " "1"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  result = (CSG_Point_Z *)new CSG_Point_Z((CSG_Point_Z const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_Z__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_Z *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point_Z" "', argument " "1"" of type '" "TSG_Point_Z const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point_Z" "', argument " "1"" of type '" "TSG_Point_Z const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_Z * >(argp1);
+-  result = (CSG_Point_Z *)new CSG_Point_Z((TSG_Point_Z const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_Z__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Point_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Point_Z" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Point_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Point_Z" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (CSG_Point_Z *)new CSG_Point_Z(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_Z(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 == 0) {
+-    return _wrap_new_CSG_Point_Z__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point_Z__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point_Z__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_new_CSG_Point_Z__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Point_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Point_Z()\n"
+-    "    CSG_Point_Z(CSG_Point_Z const &)\n"
+-    "    CSG_Point_Z(TSG_Point_Z const &)\n"
+-    "    CSG_Point_Z(double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Point_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Point_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Point_Z" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_Z_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Get_Type" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  result = (TSG_Point_Type)((CSG_Point_Z const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Get_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_Z_Get_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Get_Z" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  result = (double)((CSG_Point_Z const *)arg1)->Get_Z();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Set_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Z_Set_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Set_Z" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Z_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Z(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  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:CSG_Point_Z___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___eq__" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___eq__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___eq__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = (bool)((CSG_Point_Z const *)arg1)->operator ==((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  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:CSG_Point_Z___ne__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___ne__" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___ne__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___ne__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = (bool)((CSG_Point_Z const *)arg1)->operator !=((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_Z result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Z___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___add__" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___add__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___add__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = ((CSG_Point_Z const *)arg1)->operator +((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point_Z(static_cast< const CSG_Point_Z& >(result))), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___sub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_Z result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Z___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___sub__" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___sub__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___sub__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = ((CSG_Point_Z const *)arg1)->operator -((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point_Z(static_cast< const CSG_Point_Z& >(result))), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Z___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___iadd__" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___iadd__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___iadd__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = (CSG_Point_Z *) &(arg1)->operator +=((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_Z___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z___isub__" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z___isub__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z___isub__" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = (CSG_Point_Z *) &(arg1)->operator -=((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Point_Z_Assign",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Assign" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Z_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_Z_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Point_Z_Assign" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  (arg1)->Assign(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 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:CSG_Point_Z_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Assign" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z_Assign" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z_Assign" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  (arg1)->Assign((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point_Z, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_Z_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Point_Z_Assign__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_Z_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Point_Z *,double,double,double)\n"
+-    "    Assign(CSG_Point_Z *,CSG_Point_Z const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 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:CSG_Point_Z_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Add" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z_Add" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z_Add" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  (arg1)->Add((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_Subtract(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 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:CSG_Point_Z_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_Subtract" "', argument " "1"" of type '" "CSG_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z_Subtract" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z_Subtract" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  (arg1)->Subtract((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_is_Equal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Point_Z_is_Equal",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_is_Equal" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_Z_is_Equal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_Z_is_Equal" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Point_Z_is_Equal" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)((CSG_Point_Z const *)arg1)->is_Equal(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_is_Equal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_Z *arg1 = (CSG_Point_Z *) 0 ;
+-  CSG_Point_Z *arg2 = 0 ;
+-  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:CSG_Point_Z_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_Z_is_Equal" "', argument " "1"" of type '" "CSG_Point_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_Z_is_Equal" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_Z_is_Equal" "', argument " "2"" of type '" "CSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_Z * >(argp2);
+-  result = (bool)((CSG_Point_Z const *)arg1)->is_Equal((CSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_Z_is_Equal(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point_Z, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_Z_is_Equal__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Point_Z_is_Equal__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_Z_is_Equal'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Equal(CSG_Point_Z const *,double,double,double)\n"
+-    "    is_Equal(CSG_Point_Z const *,CSG_Point_Z const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Point_Z_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Point_Z, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_ZM__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Point_ZM")) SWIG_fail;
+-  result = (CSG_Point_ZM *)new CSG_Point_ZM();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_ZM__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point_ZM",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point_ZM" "', argument " "1"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point_ZM" "', argument " "1"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  result = (CSG_Point_ZM *)new CSG_Point_ZM((CSG_Point_ZM const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_ZM__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point_ZM *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Point_ZM",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Point_ZM" "', argument " "1"" of type '" "TSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Point_ZM" "', argument " "1"" of type '" "TSG_Point_ZM const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point_ZM * >(argp1);
+-  result = (CSG_Point_ZM *)new CSG_Point_ZM((TSG_Point_ZM const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_ZM__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Point_ZM",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Point_ZM" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Point_ZM" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Point_ZM" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Point_ZM" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (CSG_Point_ZM *)new CSG_Point_ZM(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Point_ZM(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Point_ZM__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point_ZM__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Point_ZM__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Point_ZM__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Point_ZM'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Point_ZM()\n"
+-    "    CSG_Point_ZM(CSG_Point_ZM const &)\n"
+-    "    CSG_Point_ZM(TSG_Point_ZM const &)\n"
+-    "    CSG_Point_ZM(double,double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Point_ZM(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Point_ZM",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Point_ZM" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_ZM_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Get_Type" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  result = (TSG_Point_Type)((CSG_Point_ZM const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Get_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Point_ZM_Get_M",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Get_M" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  result = (double)((CSG_Point_ZM const *)arg1)->Get_M();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Set_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_ZM_Set_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Set_M" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_ZM_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_M(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  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:CSG_Point_ZM___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___eq__" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___eq__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___eq__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = (bool)((CSG_Point_ZM const *)arg1)->operator ==((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  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:CSG_Point_ZM___ne__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___ne__" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___ne__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___ne__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = (bool)((CSG_Point_ZM const *)arg1)->operator !=((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___add__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_ZM result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_ZM___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___add__" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___add__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___add__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = ((CSG_Point_ZM const *)arg1)->operator +((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point_ZM(static_cast< const CSG_Point_ZM& >(result))), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___sub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_ZM result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_ZM___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___sub__" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___sub__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___sub__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = ((CSG_Point_ZM const *)arg1)->operator -((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Point_ZM(static_cast< const CSG_Point_ZM& >(result))), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_ZM___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___iadd__" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___iadd__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___iadd__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = (CSG_Point_ZM *) &(arg1)->operator +=((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Point_ZM___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM___isub__" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM___isub__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM___isub__" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = (CSG_Point_ZM *) &(arg1)->operator -=((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Point_ZM, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Point_ZM_Assign",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Assign" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_ZM_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_ZM_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Point_ZM_Assign" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Point_ZM_Assign" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  (arg1)->Assign(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 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:CSG_Point_ZM_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Assign" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM_Assign" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM_Assign" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  (arg1)->Assign((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point_ZM, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_ZM_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Point_ZM_Assign__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_ZM_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Point_ZM *,double,double,double,double)\n"
+-    "    Assign(CSG_Point_ZM *,CSG_Point_ZM const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 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:CSG_Point_ZM_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Add" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM_Add" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM_Add" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  (arg1)->Add((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_Subtract(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 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:CSG_Point_ZM_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_Subtract" "', argument " "1"" of type '" "CSG_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM_Subtract" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM_Subtract" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  (arg1)->Subtract((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_is_Equal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Point_ZM_is_Equal",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)((CSG_Point_ZM const *)arg1)->is_Equal(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_is_Equal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point_ZM *arg1 = (CSG_Point_ZM *) 0 ;
+-  CSG_Point_ZM *arg2 = 0 ;
+-  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:CSG_Point_ZM_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "1"" of type '" "CSG_Point_ZM const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point_ZM,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Point_ZM_is_Equal" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Point_ZM_is_Equal" "', argument " "2"" of type '" "CSG_Point_ZM const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point_ZM * >(argp2);
+-  result = (bool)((CSG_Point_ZM const *)arg1)->is_Equal((CSG_Point_ZM const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Point_ZM_is_Equal(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point_ZM, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Point_ZM_is_Equal__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Point_ZM_is_Equal__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Point_ZM_is_Equal'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Equal(CSG_Point_ZM const *,double,double,double,double)\n"
+-    "    is_Equal(CSG_Point_ZM const *,CSG_Point_ZM const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Point_ZM_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Point_ZM, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Points(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Points")) SWIG_fail;
+-  result = (CSG_Points *)new CSG_Points();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Points, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Points(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Points",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Points" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Clear" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  CSG_Points *arg2 = 0 ;
+-  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:CSG_Points_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Assign" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Assign" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Assign" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Points const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Points_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Add" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Points_Add" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:CSG_Points_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Add" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Add" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Add" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (bool)(arg1)->Add((TSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Points_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Points_Add__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Points_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Points *,double,double)\n"
+-    "    Add(CSG_Points *,TSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Del(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Del",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Del" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Del" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Set_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Set_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Set_Count" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Set_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Get_Count" "', argument " "1"" of type '" "CSG_Points const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  result = (int)((CSG_Points const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Get_Point" "', argument " "1"" of type '" "CSG_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Point *) &(arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Get_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Get_X" "', argument " "1"" of type '" "CSG_Points const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Points const *)arg1)->Get_X(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = (CSG_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Get_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Get_Y" "', argument " "1"" of type '" "CSG_Points const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Points const *)arg1)->Get_Y(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Points_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Points, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Points_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Points_Int")) SWIG_fail;
+-  result = (CSG_Points_Int *)new CSG_Points_Int();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Points_Int, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Points_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Points_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Points_Int" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Int_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Clear" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  CSG_Points_Int *arg2 = 0 ;
+-  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:CSG_Points_Int_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Assign" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points_Int,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Int_Assign" "', argument " "2"" of type '" "CSG_Points_Int const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Int_Assign" "', argument " "2"" of type '" "CSG_Points_Int const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points_Int * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Points_Int const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Points_Int_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Add" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Add" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Points_Int_Add" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  TSG_Point_Int *arg2 = 0 ;
+-  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:CSG_Points_Int_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Add" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point_Int,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Int_Add" "', argument " "2"" of type '" "TSG_Point_Int const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Int_Add" "', argument " "2"" of type '" "TSG_Point_Int const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point_Int * >(argp2);
+-  result = (bool)(arg1)->Add((TSG_Point_Int const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Points_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point_Int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Points_Int_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Points_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Points_Int_Add__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Points_Int_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Points_Int *,int,int)\n"
+-    "    Add(CSG_Points_Int *,TSG_Point_Int const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Del(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Int_Del",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Del" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Del" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Set_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Int_Set_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Set_Count" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Set_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Int_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Get_Count" "', argument " "1"" of type '" "CSG_Points_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  result = (int)((CSG_Points_Int const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point_Int *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Int_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Get_Point" "', argument " "1"" of type '" "CSG_Points_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Point_Int *) &(arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point_Int, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Int_Get_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Get_X" "', argument " "1"" of type '" "CSG_Points_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Points_Int const *)arg1)->Get_X(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Int_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Int *arg1 = (CSG_Points_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Int_Get_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Int_Get_Y" "', argument " "1"" of type '" "CSG_Points_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Int_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Points_Int const *)arg1)->Get_Y(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Points_Int_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Points_Int, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Points_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Points_Z")) SWIG_fail;
+-  result = (CSG_Points_Z *)new CSG_Points_Z();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Points_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Points_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Points_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Points_Z" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Z_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Clear" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  CSG_Points_Z *arg2 = 0 ;
+-  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:CSG_Points_Z_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Assign" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Z_Assign" "', argument " "2"" of type '" "CSG_Points_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Z_Assign" "', argument " "2"" of type '" "CSG_Points_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points_Z * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Points_Z const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Points_Z_Add",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Add" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Points_Z_Add" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Points_Z_Add" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Add(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  TSG_Point_Z *arg2 = 0 ;
+-  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:CSG_Points_Z_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Add" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point_Z,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Points_Z_Add" "', argument " "2"" of type '" "TSG_Point_Z const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Points_Z_Add" "', argument " "2"" of type '" "TSG_Point_Z const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point_Z * >(argp2);
+-  result = (bool)(arg1)->Add((TSG_Point_Z const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Points_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point_Z, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Points_Z_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Points_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Points_Z_Add__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Points_Z_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Points_Z *,double,double,double)\n"
+-    "    Add(CSG_Points_Z *,TSG_Point_Z const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Del(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Z_Del",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Del" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Del" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Set_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  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:CSG_Points_Z_Set_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Set_Count" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Set_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Points_Z_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Get_Count" "', argument " "1"" of type '" "CSG_Points_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  result = (int)((CSG_Points_Z const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Z_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Get_Point" "', argument " "1"" of type '" "CSG_Points_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Point_Z *) &(arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point_Z, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Z_Get_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Get_X" "', argument " "1"" of type '" "CSG_Points_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Points_Z const *)arg1)->Get_X(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Z_Get_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Get_Y" "', argument " "1"" of type '" "CSG_Points_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Points_Z const *)arg1)->Get_Y(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Points_Z_Get_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points_Z *arg1 = (CSG_Points_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Points_Z_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Points_Z_Get_Z" "', argument " "1"" of type '" "CSG_Points_Z const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Points_Z_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Points_Z const *)arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Points_Z_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Points_Z, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Rect")) SWIG_fail;
+-  result = (CSG_Rect *)new CSG_Rect();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Rect",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (CSG_Rect *)new CSG_Rect((CSG_Rect const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Rect",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (CSG_Rect *)new CSG_Rect((TSG_Rect const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Point *arg1 = 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Rect",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Rect" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Rect" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (CSG_Rect *)new CSG_Rect((CSG_Point const &)*arg1,(CSG_Point const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Rect",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Rect" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Rect" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Rect" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Rect" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (CSG_Rect *)new CSG_Rect(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rect(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Rect__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Rect__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Rect__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Rect__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Rect__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Rect'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Rect()\n"
+-    "    CSG_Rect(CSG_Rect const &)\n"
+-    "    CSG_Rect(TSG_Rect const &)\n"
+-    "    CSG_Rect(CSG_Point const &,CSG_Point const &)\n"
+-    "    CSG_Rect(double,double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Rect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Rect",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Rect" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_Rect___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect___eq__" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect___eq__" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect___eq__" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)((CSG_Rect const *)arg1)->operator ==((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_Rect___ne__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect___ne__" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect___ne__" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect___ne__" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)((CSG_Rect const *)arg1)->operator !=((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect___iadd__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Rect___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect___iadd__" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect___iadd__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect___iadd__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->operator +=((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect___isub__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Rect___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect___isub__" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect___isub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect___isub__" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->operator -=((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Rect_Assign",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Assign" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Rect_Assign" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Rect_Assign" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  (arg1)->Assign(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  CSG_Point *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Assign" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Assign" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Assign" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Rect_Assign" "', argument " "3"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Assign" "', argument " "3"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Point * >(argp3);
+-  (arg1)->Assign((CSG_Point const &)*arg2,(CSG_Point const &)*arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Assign__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 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:CSG_Rect_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Assign" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Assign" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Assign" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  (arg1)->Assign((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_Assign__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Rect_Assign__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Rect_Assign__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Rect *,double,double,double,double)\n"
+-    "    Assign(CSG_Rect *,CSG_Point const &,CSG_Point const &)\n"
+-    "    Assign(CSG_Rect *,CSG_Rect const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_BottomLeft__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Set_BottomLeft",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_BottomLeft(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_BottomLeft__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Rect_Set_BottomLeft",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Set_BottomLeft" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Set_BottomLeft((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_BottomLeft(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_Set_BottomLeft__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Set_BottomLeft__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Set_BottomLeft'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_BottomLeft(CSG_Rect *,double,double)\n"
+-    "    Set_BottomLeft(CSG_Rect *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_TopRight__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Set_TopRight",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Set_TopRight" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Set_TopRight" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Set_TopRight" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_TopRight(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_TopRight__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Rect_Set_TopRight",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Set_TopRight" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Set_TopRight" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Set_TopRight" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Set_TopRight((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Set_TopRight(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_Set_TopRight__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Set_TopRight__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Set_TopRight'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_TopRight(CSG_Rect *,double,double)\n"
+-    "    Set_TopRight(CSG_Rect *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_is_Equal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Rect_is_Equal",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_is_Equal" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_is_Equal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_is_Equal" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Rect_is_Equal" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Rect_is_Equal" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)((CSG_Rect const *)arg1)->is_Equal(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_is_Equal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_Rect_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_is_Equal" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_is_Equal" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_is_Equal" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)((CSG_Rect const *)arg1)->is_Equal((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_is_Equal(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_is_Equal__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Rect_is_Equal__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_is_Equal'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Equal(CSG_Rect const *,double,double,double,double)\n"
+-    "    is_Equal(CSG_Rect const *,CSG_Rect const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_XMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_XMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_XMin" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_XMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_XMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_XMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_XMax" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_XMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_YMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_YMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_YMin" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_YMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_YMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_YMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_YMax" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_YMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_XRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_XRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_XRange" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_XRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_YRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_YRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_YRange" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_YRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_TopLeft(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_TopLeft",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_TopLeft" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (arg1)->Get_TopLeft();
+-  resultobj = SWIG_NewPointerObj((new CSG_Point(static_cast< const CSG_Point& >(result))), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_BottomRight(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_BottomRight",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_BottomRight" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (arg1)->Get_BottomRight();
+-  resultobj = SWIG_NewPointerObj((new CSG_Point(static_cast< const CSG_Point& >(result))), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_Center(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_Center",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_Center" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = ((CSG_Rect const *)arg1)->Get_Center();
+-  resultobj = SWIG_NewPointerObj((new CSG_Point(static_cast< const CSG_Point& >(result))), SWIGTYPE_p_CSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_XCenter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_XCenter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_XCenter" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_XCenter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Get_YCenter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_Get_YCenter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Get_YCenter" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (double)((CSG_Rect const *)arg1)->Get_YCenter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Move__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Move",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Move" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Move" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Move" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Move(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Move__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 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:CSG_Rect_Move",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Move" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Move" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Move" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  (arg1)->Move((CSG_Point const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Move(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_Move__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Move__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Move'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Move(CSG_Rect *,double,double)\n"
+-    "    Move(CSG_Rect *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Inflate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Inflate",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Inflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Inflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Inflate" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Inflate(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Inflate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Rect_Inflate",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Inflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Inflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Inflate(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Deflate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Deflate",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Deflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Deflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Deflate" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Deflate(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Deflate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Rect_Deflate",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Deflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Deflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Deflate(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Inflate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Rect_Inflate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Inflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Inflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Inflate" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Rect_Inflate" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Inflate(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Inflate__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Inflate",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Inflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Inflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Inflate" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Inflate(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Inflate(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Rect_Inflate__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Inflate__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Rect_Inflate__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Rect_Inflate__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Inflate'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Inflate(CSG_Rect *,double,bool)\n"
+-    "    Inflate(CSG_Rect *,double)\n"
+-    "    Inflate(CSG_Rect *,double,double,bool)\n"
+-    "    Inflate(CSG_Rect *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Deflate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Rect_Deflate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Deflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Deflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Deflate" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Rect_Deflate" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  (arg1)->Deflate(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Deflate__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Deflate",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Deflate" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Deflate" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Deflate" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Deflate(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Deflate(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Rect_Deflate__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Deflate__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Rect_Deflate__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Rect_Deflate__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Deflate'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Deflate(CSG_Rect *,double,bool)\n"
+-    "    Deflate(CSG_Rect *,double)\n"
+-    "    Deflate(CSG_Rect *,double,double,bool)\n"
+-    "    Deflate(CSG_Rect *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Union(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 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:CSG_Rect_Union",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Union" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Union" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Union" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  (arg1)->Union((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Intersect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_Rect_Intersect",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Intersect" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Intersect" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Intersect" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)(arg1)->Intersect((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Intersects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Intersection result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Rect_Intersects",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Intersects" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Intersects" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Intersects" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (TSG_Intersection)((CSG_Rect const *)arg1)->Intersects((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Contains__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Rect_Contains",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Contains" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rect_Contains" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rect_Contains" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)((CSG_Rect const *)arg1)->Contains(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Contains__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  CSG_Point *arg2 = 0 ;
+-  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:CSG_Rect_Contains",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_Contains" "', argument " "1"" of type '" "CSG_Rect const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_Contains" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rect_Contains" "', argument " "2"" of type '" "CSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Point * >(argp2);
+-  result = (bool)((CSG_Rect const *)arg1)->Contains((CSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_Contains(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rect_Contains__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Rect_Contains__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rect_Contains'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Contains(CSG_Rect const *,double,double)\n"
+-    "    Contains(CSG_Rect const *,CSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_m_rect_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  TSG_Rect *arg2 = (TSG_Rect *) 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:CSG_Rect_m_rect_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_m_rect_set" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rect_m_rect_set" "', argument " "2"" of type '" "TSG_Rect *""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Rect * >(argp2);
+-  if (arg1) (arg1)->m_rect = *arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rect_m_rect_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rect *arg1 = (CSG_Rect *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rect_m_rect_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rect_m_rect_get" "', argument " "1"" of type '" "CSG_Rect *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rect * >(argp1);
+-  result = (TSG_Rect *)& ((arg1)->m_rect);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Rect_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Rect, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Rects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Rects")) SWIG_fail;
+-  result = (CSG_Rects *)new CSG_Rects();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rects, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Rects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Rects",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Rects" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rects_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Clear" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  (arg1)->Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  CSG_Rects *arg2 = 0 ;
+-  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:CSG_Rects_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Assign" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rects,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rects_Assign" "', argument " "2"" of type '" "CSG_Rects const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rects_Assign" "', argument " "2"" of type '" "CSG_Rects const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rects * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Rects const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rects_Add",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Add" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  result = (bool)(arg1)->Add();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Rects_Add",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Add" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rects_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Rects_Add" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Rects_Add" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Rects_Add" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)(arg1)->Add(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Add__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_Rects_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Add" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Rects_Add" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Rects_Add" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Rects, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Rects_Add__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rects, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Rects_Add__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Rects, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Rects_Add__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Rects_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Rects *)\n"
+-    "    Add(CSG_Rects *,double,double,double,double)\n"
+-    "    Add(CSG_Rects *,CSG_Rect const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Rects_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Get_Count" "', argument " "1"" of type '" "CSG_Rects const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  result = (int)((CSG_Rects const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Rects_Get_Rect(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Rects *arg1 = (CSG_Rects *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Rects_Get_Rect",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Rects, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Rects_Get_Rect" "', argument " "1"" of type '" "CSG_Rects *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Rects * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Rects_Get_Rect" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Rect *) &(arg1)->Get_Rect(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Rects_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Rects, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Distance_Weighting(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Distance_Weighting")) SWIG_fail;
+-  result = (CSG_Distance_Weighting *)new CSG_Distance_Weighting();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Distance_Weighting, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Distance_Weighting(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Distance_Weighting",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Distance_Weighting" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Get_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_Parameters" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (CSG_Parameters *)((CSG_Distance_Weighting const *)arg1)->Get_Parameters();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Distance_Weighting_Set_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_Parameters" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Distance_Weighting_Set_Parameters" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)(arg1)->Set_Parameters(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_Weighting(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Distance_Weighting result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Get_Weighting",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_Weighting" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (TSG_Distance_Weighting)((CSG_Distance_Weighting const *)arg1)->Get_Weighting();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_Weighting(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  TSG_Distance_Weighting arg2 ;
+-  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:CSG_Distance_Weighting_Set_Weighting",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_Weighting" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Distance_Weighting_Set_Weighting" "', argument " "2"" of type '" "TSG_Distance_Weighting""'");
+-  } 
+-  arg2 = static_cast< TSG_Distance_Weighting >(val2);
+-  result = (bool)(arg1)->Set_Weighting(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_IDW_Power(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Get_IDW_Power",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_IDW_Power" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (double)((CSG_Distance_Weighting const *)arg1)->Get_IDW_Power();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_IDW_Power(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Distance_Weighting_Set_IDW_Power",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_IDW_Power" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Distance_Weighting_Set_IDW_Power" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_IDW_Power(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_IDW_Offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Get_IDW_Offset",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_IDW_Offset" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (bool)((CSG_Distance_Weighting const *)arg1)->Get_IDW_Offset();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_IDW_Offset__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Distance_Weighting_Set_IDW_Offset",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_IDW_Offset" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Distance_Weighting_Set_IDW_Offset" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_IDW_Offset(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_IDW_Offset__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Set_IDW_Offset",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_IDW_Offset" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (bool)(arg1)->Set_IDW_Offset();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_IDW_Offset(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Distance_Weighting, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Distance_Weighting_Set_IDW_Offset__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Distance_Weighting, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Distance_Weighting_Set_IDW_Offset__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Distance_Weighting_Set_IDW_Offset'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_IDW_Offset(CSG_Distance_Weighting *,bool)\n"
+-    "    Set_IDW_Offset(CSG_Distance_Weighting *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_BandWidth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Distance_Weighting_Get_BandWidth",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_BandWidth" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  result = (double)((CSG_Distance_Weighting const *)arg1)->Get_BandWidth();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Set_BandWidth(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Distance_Weighting_Set_BandWidth",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Set_BandWidth" "', argument " "1"" of type '" "CSG_Distance_Weighting *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Distance_Weighting_Set_BandWidth" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_BandWidth(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Distance_Weighting_Get_Weight(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Distance_Weighting *arg1 = (CSG_Distance_Weighting *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Distance_Weighting_Get_Weight",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Distance_Weighting_Get_Weight" "', argument " "1"" of type '" "CSG_Distance_Weighting const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Distance_Weighting * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Distance_Weighting_Get_Weight" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)((CSG_Distance_Weighting const *)arg1)->Get_Weight(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Distance_Weighting_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Distance_Weighting, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN int Swig_var_gSG_Projection_Type_Identifier_set(PyObject *) {
+-  SWIG_Error(SWIG_AttributeError,"Variable gSG_Projection_Type_Identifier is read-only.");
+-  return 1;
+-}
+-
+-
+-SWIGINTERN PyObject *Swig_var_gSG_Projection_Type_Identifier_get(void) {
+-  PyObject *pyobj = 0;
+-  
+-  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(gSG_Projection_Type_Identifier), SWIGTYPE_p_a_32__wchar_t,  0 );
+-  return pyobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Projection_Type_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Projection_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_Projection_Type_Name",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Projection_Type_Name" "', argument " "1"" of type '" "TSG_Projection_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Projection_Type >(val1);
+-  result = SG_Get_Projection_Type_Name(arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Projection")) SWIG_fail;
+-  result = (CSG_Projection *)new CSG_Projection();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Projection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Projection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Projection" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Destroy" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Projection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (CSG_Projection *)new CSG_Projection((CSG_Projection const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projection_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Create" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projection_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Assign" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Projection",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = (CSG_Projection *)new CSG_Projection(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  int arg2 ;
+-  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:CSG_Projection_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Create" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  int arg2 ;
+-  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:CSG_Projection_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Assign" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Projection_Format arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Projection",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Projection" "', argument " "2"" of type '" "TSG_Projection_Format""'");
+-  } 
+-  arg2 = static_cast< TSG_Projection_Format >(val2);
+-  result = (CSG_Projection *)new CSG_Projection((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Projection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Projection" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Projection *)new CSG_Projection((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projection(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 == 0) {
+-    return _wrap_new_CSG_Projection__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Projection__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Projection__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Projection__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Projection__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Projection'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Projection()\n"
+-    "    CSG_Projection(CSG_Projection const &)\n"
+-    "    CSG_Projection(int)\n"
+-    "    CSG_Projection(CSG_String const &,TSG_Projection_Format)\n"
+-    "    CSG_Projection(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Projection_Format arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projection_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Create" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projection_Create" "', argument " "3"" of type '" "TSG_Projection_Format""'");
+-  } 
+-  arg3 = static_cast< TSG_Projection_Format >(val3);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projection_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Create" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Projection, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Projection_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projection_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projection_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Projection *,CSG_Projection const &)\n"
+-    "    Create(CSG_Projection *,int)\n"
+-    "    Create(CSG_Projection *,CSG_String const &,TSG_Projection_Format)\n"
+-    "    Create(CSG_Projection *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Assign__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Projection_Format arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projection_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Assign" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projection_Assign" "', argument " "3"" of type '" "TSG_Projection_Format""'");
+-  } 
+-  arg3 = static_cast< TSG_Projection_Format >(val3);
+-  result = (bool)(arg1)->Assign((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Assign__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projection_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Assign" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Assign" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Projection, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Assign__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Projection_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projection_Assign__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projection_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Projection *,CSG_Projection const &)\n"
+-    "    Assign(CSG_Projection *,int)\n"
+-    "    Assign(CSG_Projection *,CSG_String const &,TSG_Projection_Format)\n"
+-    "    Assign(CSG_Projection *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_is_Okay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_is_Okay",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_is_Okay" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (bool)((CSG_Projection const *)arg1)->is_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_is_Equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projection_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_is_Equal" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_is_Equal" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_is_Equal" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)((CSG_Projection const *)arg1)->is_Equal((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projection___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection___eq__" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection___eq__" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection___eq__" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)((CSG_Projection const *)arg1)->operator ==((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection___ne__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projection___ne__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection___ne__" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection___ne__" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection___ne__" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)((CSG_Projection const *)arg1)->operator !=((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Load__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Projection_Format arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projection_Load",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Load" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projection_Load" "', argument " "3"" of type '" "TSG_Projection_Format""'");
+-  } 
+-  arg3 = static_cast< TSG_Projection_Format >(val3);
+-  result = (bool)(arg1)->Load((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Load__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projection_Load",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Load" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Projection_Format arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projection_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Save" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projection_Save" "', argument " "3"" of type '" "TSG_Projection_Format""'");
+-  } 
+-  arg3 = static_cast< TSG_Projection_Format >(val3);
+-  result = (bool)((CSG_Projection const *)arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projection_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Save" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)((CSG_Projection const *)arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Load__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  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:CSG_Projection_Load",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Load" "', argument " "1"" of type '" "CSG_Projection *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Load" "', argument " "2"" of type '" "CSG_MetaData const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (bool)(arg1)->Load((CSG_MetaData const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Load(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Load__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Load__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projection_Load__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projection_Load'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Load(CSG_Projection *,CSG_String const &,TSG_Projection_Format)\n"
+-    "    Load(CSG_Projection *,CSG_String const &)\n"
+-    "    Load(CSG_Projection *,CSG_MetaData const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Save__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  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:CSG_Projection_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Save" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projection_Save" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (bool)((CSG_Projection const *)arg1)->Save(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projection_Save__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projection_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projection_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_Projection const *,CSG_String const &,TSG_Projection_Format)\n"
+-    "    Save(CSG_Projection const *,CSG_String const &)\n"
+-    "    Save(CSG_Projection const *,CSG_MetaData &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Name" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (CSG_String *) &((CSG_Projection const *)arg1)->Get_Name();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_WKT(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_WKT",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_WKT" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (CSG_String *) &((CSG_Projection const *)arg1)->Get_WKT();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Proj4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Proj4",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Proj4" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (CSG_String *) &((CSG_Projection const *)arg1)->Get_Proj4();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Authority(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Authority",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Authority" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (CSG_String *) &((CSG_Projection const *)arg1)->Get_Authority();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Authority_ID(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Authority_ID",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Authority_ID" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (int)((CSG_Projection const *)arg1)->Get_Authority_ID();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_EPSG(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_EPSG",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_EPSG" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (int)((CSG_Projection const *)arg1)->Get_EPSG();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Description" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = ((CSG_Projection const *)arg1)->Get_Description();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Projection_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Type" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = (TSG_Projection_Type)((CSG_Projection const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Type_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Type_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Type_Name" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = ((CSG_Projection const *)arg1)->Get_Type_Name();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projection_Get_Type_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projection *arg1 = (CSG_Projection *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projection_Get_Type_Identifier",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projection_Get_Type_Identifier" "', argument " "1"" of type '" "CSG_Projection const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projection * >(argp1);
+-  result = ((CSG_Projection const *)arg1)->Get_Type_Identifier();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Projection_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Projection, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projections__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Projections")) SWIG_fail;
+-  result = (CSG_Projections *)new CSG_Projections();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projections, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Projections(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Projections",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Projections" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projections__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Projections *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Projections",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Projections" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Projections" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Projections *)new CSG_Projections((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projections, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Projections(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Projections__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Projections__SWIG_1(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Projections'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Projections()\n"
+-    "    CSG_Projections(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projections_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Create" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projections_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Destroy" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Reset_Dictionary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projections_Reset_Dictionary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Reset_Dictionary" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  result = (bool)(arg1)->Reset_Dictionary();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Load_Dictionary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projections_Load_Dictionary",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Load_Dictionary" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Load_Dictionary" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Load_Dictionary" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load_Dictionary((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Save_Dictionary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projections_Save_Dictionary",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Save_Dictionary" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Save_Dictionary" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Save_Dictionary" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save_Dictionary((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Load_DB__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_Load_DB",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Load_DB" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Load_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Load_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projections_Load_DB" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Load_DB((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Load_DB__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projections_Load_DB",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Load_DB" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Load_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Load_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Load_DB((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Load_DB(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projections_Load_DB__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projections_Load_DB__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projections_Load_DB'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Load_DB(CSG_Projections *,CSG_String const &,bool)\n"
+-    "    Load_DB(CSG_Projections *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Save_DB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Projections_Save_DB",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Save_DB" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Save_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Save_DB" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save_DB((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projections_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Count" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  result = (int)((CSG_Projections const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  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:CSG_Projections_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Add" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Add" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Add" "', argument " "2"" of type '" "CSG_Projection const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_Projection const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Projections_Add",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Add" "', argument " "1"" of type '" "CSG_Projections *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Add" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Projections_Add" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Projections_Add" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Projections_Add" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Add((wchar_t const *)arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Add(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Projection, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Projections_Add__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Projections_Add__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projections_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Projections *,CSG_Projection const &)\n"
+-    "    Add(CSG_Projections *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Projection__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Projection result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Projections_Get_Projection",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Projection" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Projections_Get_Projection" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Projections const *)arg1)->Get_Projection(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Projection(static_cast< const CSG_Projection& >(result))), SWIGTYPE_p_CSG_Projection, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Projection__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_Get_Projection",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Projection" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Get_Projection" "', argument " "2"" of type '" "CSG_Projection &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Get_Projection" "', argument " "2"" of type '" "CSG_Projection &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projections_Get_Projection" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Projections const *)arg1)->Get_Projection(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Projection__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_Projection *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Projections_Get_Projection",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Projection" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Projection,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_Get_Projection" "', argument " "2"" of type '" "CSG_Projection &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Get_Projection" "', argument " "2"" of type '" "CSG_Projection &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Projection * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Projections_Get_Projection" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_Get_Projection" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Projections_Get_Projection" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)((CSG_Projections const *)arg1)->Get_Projection(*arg2,(CSG_String const &)*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Projection(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Projections_Get_Projection__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Projections_Get_Projection__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Projection, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Projections_Get_Projection__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projections_Get_Projection'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Projection(CSG_Projections const *,int)\n"
+-    "    Get_Projection(CSG_Projections const *,CSG_Projection &,int)\n"
+-    "    Get_Projection(CSG_Projections const *,CSG_Projection &,CSG_String const &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Names_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  TSG_Projection_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Projections_Get_Names_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Names_List" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Projections_Get_Names_List" "', argument " "2"" of type '" "TSG_Projection_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Projection_Type >(val2);
+-  result = ((CSG_Projections const *)arg1)->Get_Names_List(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Names_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projections_Get_Names_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_Get_Names_List" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  result = ((CSG_Projections const *)arg1)->Get_Names_List();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_Get_Names_List(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Projections_Get_Names_List__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Projections, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Projections_Get_Names_List__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Projections_Get_Names_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Names_List(CSG_Projections const *,TSG_Projection_Type)\n"
+-    "    Get_Names_List(CSG_Projections const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_WKT_to_MetaData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Projections_WKT_to_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_WKT_to_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_WKT_to_MetaData" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = CSG_Projections::WKT_to_MetaData((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj((new CSG_MetaData(static_cast< const CSG_MetaData& >(result))), SWIGTYPE_p_CSG_MetaData, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_WKT_to_Proj4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_WKT_to_Proj4",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_WKT_to_Proj4" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_WKT_to_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_WKT_to_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Projections_WKT_to_Proj4" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_WKT_to_Proj4" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)((CSG_Projections const *)arg1)->WKT_to_Proj4(*arg2,(CSG_String const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_WKT_from_Proj4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_WKT_from_Proj4",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_WKT_from_Proj4" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_WKT_from_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_WKT_from_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Projections_WKT_from_Proj4" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_WKT_from_Proj4" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)((CSG_Projections const *)arg1)->WKT_from_Proj4(*arg2,(CSG_String const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_EPSG_to_Proj4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_EPSG_to_Proj4",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_EPSG_to_Proj4" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_EPSG_to_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_EPSG_to_Proj4" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projections_EPSG_to_Proj4" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Projections const *)arg1)->EPSG_to_Proj4(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Projections_EPSG_to_WKT(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *arg1 = (CSG_Projections *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Projections_EPSG_to_WKT",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Projections_EPSG_to_WKT" "', argument " "1"" of type '" "CSG_Projections const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Projections * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Projections_EPSG_to_WKT" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Projections_EPSG_to_WKT" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Projections_EPSG_to_WKT" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Projections const *)arg1)->EPSG_to_WKT(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Projections_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Projections, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Projections(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Projections *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Get_Projections")) SWIG_fail;
+-  result = (CSG_Projections *) &SG_Get_Projections();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projections, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Get_Length",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Length" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Length" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)SG_Get_Length(arg1,arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Distance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Distance" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Distance" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Get_Distance" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Get_Distance" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (double)SG_Get_Distance(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Distance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:SG_Get_Distance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Distance" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Distance" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Distance" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Distance" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (double)SG_Get_Distance((SSG_Point const &)*arg1,(SSG_Point const &)*arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Distance(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_SG_Get_Distance__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_SG_Get_Distance__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Distance'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Distance(double,double,double,double)\n"
+-    "    SG_Get_Distance(TSG_Point const &,TSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Angle_Of_Direction__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Get_Angle_Of_Direction",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)SG_Get_Angle_Of_Direction(arg1,arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Angle_Of_Direction__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Get_Angle_Of_Direction",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (double)SG_Get_Angle_Of_Direction(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Angle_Of_Direction__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_Angle_Of_Direction",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  result = (double)SG_Get_Angle_Of_Direction((SSG_Point const &)*arg1);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Angle_Of_Direction__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:SG_Get_Angle_Of_Direction",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Angle_Of_Direction" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Angle_Of_Direction" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Angle_Of_Direction" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (double)SG_Get_Angle_Of_Direction((SSG_Point const &)*arg1,(SSG_Point const &)*arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Angle_Of_Direction(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Get_Angle_Of_Direction__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_SG_Get_Angle_Of_Direction__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Get_Angle_Of_Direction__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_SG_Get_Angle_Of_Direction__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Angle_Of_Direction'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Angle_Of_Direction(double,double)\n"
+-    "    SG_Get_Angle_Of_Direction(double,double,double,double)\n"
+-    "    SG_Get_Angle_Of_Direction(TSG_Point const &)\n"
+-    "    SG_Get_Angle_Of_Direction(TSG_Point const &,TSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Crossing__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  TSG_Point *arg3 = 0 ;
+-  TSG_Point *arg4 = 0 ;
+-  TSG_Point *arg5 = 0 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:SG_Get_Crossing",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Crossing" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Crossing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Crossing" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SG_Get_Crossing" "', argument " "4"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "4"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Point * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "SG_Get_Crossing" "', argument " "5"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "5"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg5 = reinterpret_cast< TSG_Point * >(argp5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "SG_Get_Crossing" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (bool)SG_Get_Crossing(*arg1,(SSG_Point const &)*arg2,(SSG_Point const &)*arg3,(SSG_Point const &)*arg4,(SSG_Point const &)*arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Crossing__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  TSG_Point *arg3 = 0 ;
+-  TSG_Point *arg4 = 0 ;
+-  TSG_Point *arg5 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:SG_Get_Crossing",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Crossing" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Crossing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Crossing" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SG_Get_Crossing" "', argument " "4"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "4"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Point * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "SG_Get_Crossing" "', argument " "5"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing" "', argument " "5"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg5 = reinterpret_cast< TSG_Point * >(argp5);
+-  result = (bool)SG_Get_Crossing(*arg1,(SSG_Point const &)*arg2,(SSG_Point const &)*arg3,(SSG_Point const &)*arg4,(SSG_Point const &)*arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Crossing(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_ConvertPtr(argv[3], 0, SWIGTYPE_p_SSG_Point, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_ConvertPtr(argv[4], 0, SWIGTYPE_p_SSG_Point, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_SG_Get_Crossing__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_ConvertPtr(argv[3], 0, SWIGTYPE_p_SSG_Point, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_ConvertPtr(argv[4], 0, SWIGTYPE_p_SSG_Point, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_SG_Get_Crossing__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Crossing'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Crossing(TSG_Point &,TSG_Point const &,TSG_Point const &,TSG_Point const &,TSG_Point const &,bool)\n"
+-    "    SG_Get_Crossing(TSG_Point &,TSG_Point const &,TSG_Point const &,TSG_Point const &,TSG_Point const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Crossing_InRegion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  TSG_Point *arg3 = 0 ;
+-  TSG_Rect *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Get_Crossing_InRegion",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Crossing_InRegion" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing_InRegion" "', argument " "1"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Crossing_InRegion" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing_InRegion" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Crossing_InRegion" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing_InRegion" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SG_Get_Crossing_InRegion" "', argument " "4"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Crossing_InRegion" "', argument " "4"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Rect * >(argp4);
+-  result = (bool)SG_Get_Crossing_InRegion(*arg1,(SSG_Point const &)*arg2,(SSG_Point const &)*arg3,(SSG_Rect const &)*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Nearest_Point_On_Line__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  TSG_Point *arg3 = 0 ;
+-  TSG_Point *arg4 = 0 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:SG_Get_Nearest_Point_On_Line",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Point * >(argp4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (double)SG_Get_Nearest_Point_On_Line((SSG_Point const &)*arg1,(SSG_Point const &)*arg2,(SSG_Point const &)*arg3,*arg4,arg5);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Nearest_Point_On_Line__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  TSG_Point *arg3 = 0 ;
+-  TSG_Point *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Get_Nearest_Point_On_Line",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "1"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Nearest_Point_On_Line" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Point * >(argp4);
+-  result = (double)SG_Get_Nearest_Point_On_Line((SSG_Point const &)*arg1,(SSG_Point const &)*arg2,(SSG_Point const &)*arg3,*arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Nearest_Point_On_Line(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_SG_Get_Nearest_Point_On_Line__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_SG_Get_Nearest_Point_On_Line__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Nearest_Point_On_Line'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Nearest_Point_On_Line(TSG_Point const &,TSG_Point const &,TSG_Point const &,TSG_Point &,bool)\n"
+-    "    SG_Get_Nearest_Point_On_Line(TSG_Point const &,TSG_Point const &,TSG_Point const &,TSG_Point &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Triangle_CircumCircle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 ;
+-  TSG_Point *arg2 = 0 ;
+-  double *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Get_Triangle_CircumCircle",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Triangle_CircumCircle" "', argument " "1"" of type '" "TSG_Point [3]""'"); 
+-  } 
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Get_Triangle_CircumCircle" "', argument " "2"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Triangle_CircumCircle" "', argument " "2"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Get_Triangle_CircumCircle" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Triangle_CircumCircle" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)SG_Get_Triangle_CircumCircle(arg1,*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Polygon_Area__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Point *arg1 = (TSG_Point *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Get_Polygon_Area",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Polygon_Area" "', argument " "1"" of type '" "TSG_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Get_Polygon_Area" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)SG_Get_Polygon_Area(arg1,arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Polygon_Area__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Points *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_Polygon_Area",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Get_Polygon_Area" "', argument " "1"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Get_Polygon_Area" "', argument " "1"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Points * >(argp1);
+-  result = (double)SG_Get_Polygon_Area((CSG_Points const &)*arg1);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Polygon_Area(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 == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Get_Polygon_Area__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Get_Polygon_Area__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Get_Polygon_Area'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Get_Polygon_Area(TSG_Point *,int)\n"
+-    "    SG_Get_Polygon_Area(CSG_Points const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_Square",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_Square" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  result = (double)SG_Get_Square(arg1);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Index")) SWIG_fail;
+-  result = (CSG_Index *)new CSG_Index();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Index",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Index" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int *arg2 = (int *) 0 ;
+-  bool arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Index",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "int *""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Index" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int *arg2 = (int *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Index",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "int *""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  int *arg3 = (int *) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Index_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "int *""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Index_Create" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  int *arg3 = (int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Index_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "int *""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  double *arg2 = (double *) 0 ;
+-  bool arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Index",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Index" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  double *arg2 = (double *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Index",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Index_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Index_Create" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Index_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  TSG_PFNC_Compare arg2 = (TSG_PFNC_Compare) 0 ;
+-  bool arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Index",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj1, (void**)(&arg2), SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "TSG_PFNC_Compare""'"); 
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Index" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  TSG_PFNC_Compare arg2 = (TSG_PFNC_Compare) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Index *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Index",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Index" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj1, (void**)(&arg2), SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "new_CSG_Index" "', argument " "2"" of type '" "TSG_PFNC_Compare""'"); 
+-    }
+-  }
+-  result = (CSG_Index *)new CSG_Index(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Index, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Index(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 == 0) {
+-    return _wrap_new_CSG_Index__SWIG_0(self, args);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Index__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Index__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertFunctionPtr(argv[1], &ptr, SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Index__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Index__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertFunctionPtr(argv[1], &ptr, SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Index__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Index__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Index'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Index()\n"
+-    "    CSG_Index(int,int *,bool)\n"
+-    "    CSG_Index(int,int *)\n"
+-    "    CSG_Index(int,double *,bool)\n"
+-    "    CSG_Index(int,double *)\n"
+-    "    CSG_Index(int,TSG_PFNC_Compare,bool)\n"
+-    "    CSG_Index(int,TSG_PFNC_Compare)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  TSG_PFNC_Compare arg3 = (TSG_PFNC_Compare) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Index_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj2, (void**)(&arg3), SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "TSG_PFNC_Compare""'"); 
+-    }
+-  }
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Index_Create" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  TSG_PFNC_Compare arg3 = (TSG_PFNC_Compare) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Index_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Create" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj2, (void**)(&arg3), SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "CSG_Index_Create" "', argument " "3"" of type '" "TSG_PFNC_Compare""'"); 
+-    }
+-  }
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Index_Create__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Index_Create__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *ptr = 0;
+-        int res = SWIG_ConvertFunctionPtr(argv[2], &ptr, SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Index_Create__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Index_Create__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *ptr = 0;
+-        int res = SWIG_ConvertFunctionPtr(argv[2], &ptr, SWIGTYPE_p_f_q_const__int_q_const__int__int);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Index_Create__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Index_Create__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Index_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Index *,int,int *,bool)\n"
+-    "    Create(CSG_Index *,int,int *)\n"
+-    "    Create(CSG_Index *,int,double *,bool)\n"
+-    "    Create(CSG_Index *,int,double *)\n"
+-    "    Create(CSG_Index *,int,TSG_PFNC_Compare,bool)\n"
+-    "    Create(CSG_Index *,int,TSG_PFNC_Compare)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Index_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Destroy" "', argument " "1"" of type '" "CSG_Index *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_is_Okay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Index_is_Okay",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_is_Okay" "', argument " "1"" of type '" "CSG_Index const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  result = (bool)((CSG_Index const *)arg1)->is_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Index_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Get_Count" "', argument " "1"" of type '" "CSG_Index const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  result = (int)((CSG_Index const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Get_Index__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Index_Get_Index",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Get_Index" "', argument " "1"" of type '" "CSG_Index const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Get_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Index_Get_Index" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (int)((CSG_Index const *)arg1)->Get_Index(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Get_Index__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Index *arg1 = (CSG_Index *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Index_Get_Index",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Index, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Index_Get_Index" "', argument " "1"" of type '" "CSG_Index const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Index * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Index_Get_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Index const *)arg1)->Get_Index(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Index_Get_Index(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Index_Get_Index__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Index, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Index_Get_Index__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Index_Get_Index'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Index(CSG_Index const *,int,bool)\n"
+-    "    Get_Index(CSG_Index const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Index_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Index, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Vector__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Vector")) SWIG_fail;
+-  result = (CSG_Vector *)new CSG_Vector();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Vector(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Vector",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Vector" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Vector__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Vector",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Vector" "', argument " "1"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Vector" "', argument " "1"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (CSG_Vector *)new CSG_Vector((CSG_Vector const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Create" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Create" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Create" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Vector__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  double *arg2 = (double *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Vector",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Vector" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Vector" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (CSG_Vector *)new CSG_Vector(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Vector__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Vector",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Vector" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = (CSG_Vector *)new CSG_Vector(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Vector(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 == 0) {
+-    return _wrap_new_CSG_Vector__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Vector__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Vector__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Vector__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Vector'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Vector()\n"
+-    "    CSG_Vector(CSG_Vector const &)\n"
+-    "    CSG_Vector(int,double *)\n"
+-    "    CSG_Vector(int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Vector_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Create" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Vector_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  int arg2 ;
+-  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:CSG_Vector_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Create" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Vector_Create__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Vector *,CSG_Vector const &)\n"
+-    "    Create(CSG_Vector *,int,double *)\n"
+-    "    Create(CSG_Vector *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Destroy" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Get_N(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Get_N",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Get_N" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (int)((CSG_Vector const *)arg1)->Get_N();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Get_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Get_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Get_Data" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (double *)((CSG_Vector const *)arg1)->Get_Data();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___call__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___call__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___call__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___call__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Vector const *)arg1)->operator ()(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_asString" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (arg1)->asString();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_is_Equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_is_Equal" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_is_Equal" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_is_Equal" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)((CSG_Vector const *)arg1)->is_Equal((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Assign" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Assign" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Assign" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Assign" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Assign(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Vector *,double)\n"
+-    "    Assign(CSG_Vector *,CSG_Vector const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Add" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Add" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Add" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Add" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Add(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector_Add__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Vector *,double)\n"
+-    "    Add(CSG_Vector *,CSG_Vector const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Subtract(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Subtract" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Subtract" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Subtract" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)(arg1)->Subtract((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Multiply__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Multiply" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector_Multiply" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Multiply(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Multiply__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Multiply" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Multiply" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Multiply" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)(arg1)->Multiply((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Multiply_Scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Multiply_Scalar",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Multiply_Scalar" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Multiply_Scalar" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Multiply_Scalar" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (double)((CSG_Vector const *)arg1)->Multiply_Scalar((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Multiply__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Vector_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Multiply" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Multiply" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Multiply" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)(arg1)->Multiply((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Multiply(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector_Multiply__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector_Multiply__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector_Multiply__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector_Multiply'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Multiply(CSG_Vector *,double)\n"
+-    "    Multiply(CSG_Vector *,CSG_Vector const &)\n"
+-    "    Multiply(CSG_Vector *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___eq__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___eq__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___eq__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)((CSG_Vector const *)arg1)->operator ==((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___iadd__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___iadd__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Vector *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___iadd__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___iadd__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___iadd__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (CSG_Vector *) &(arg1)->operator +=((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_Vector *,double)\n"
+-    "    operator +=(CSG_Vector *,CSG_Vector const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___isub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___isub__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___isub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Vector *) &(arg1)->operator -=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___isub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___isub__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___isub__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___isub__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (CSG_Vector *) &(arg1)->operator -=((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___isub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___isub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___isub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector___isub__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator -=(CSG_Vector *,double)\n"
+-    "    operator -=(CSG_Vector *,CSG_Vector const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___imul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___imul__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___imul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Vector *) &(arg1)->operator *=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___imul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___imul__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___imul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___imul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (CSG_Vector *) &(arg1)->operator *=((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___imul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___imul__" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___imul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___imul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (CSG_Vector *) &(arg1)->operator *=((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___imul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___imul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___imul____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___imul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Vector___imul__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator *=(CSG_Vector *,double)\n"
+-    "    operator *=(CSG_Vector *,CSG_Vector const &)\n"
+-    "    operator *=(CSG_Vector *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___add__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___add__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Vector const *)arg1)->operator +(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___add__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___add__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___add__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = ((CSG_Vector const *)arg1)->operator +((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___add__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___add____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___add____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___sub__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___sub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Vector const *)arg1)->operator -(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___sub__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___sub__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___sub__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = ((CSG_Vector const *)arg1)->operator -((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___sub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___sub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___sub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Vector___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___mul__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Vector___mul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Vector const *)arg1)->operator *(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector___mul__" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector___mul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector___mul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (double)((CSG_Vector const *)arg1)->operator *((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector___mul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Vector___mul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Vector___mul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Set_Zero(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Set_Zero",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Set_Zero" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (bool)(arg1)->Set_Zero();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Set_Unity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Set_Unity",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Set_Unity" "', argument " "1"" of type '" "CSG_Vector *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (bool)(arg1)->Set_Unity();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Get_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Get_Length",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Get_Length" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = (double)((CSG_Vector const *)arg1)->Get_Length();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Get_Angle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:CSG_Vector_Get_Angle",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Get_Angle" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Vector_Get_Angle" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Vector_Get_Angle" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (double)((CSG_Vector const *)arg1)->Get_Angle((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Vector_Get_Unity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Vector *arg1 = (CSG_Vector *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Vector_Get_Unity",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Vector, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Vector_Get_Unity" "', argument " "1"" of type '" "CSG_Vector const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Vector * >(argp1);
+-  result = ((CSG_Vector const *)arg1)->Get_Unity();
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Vector_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Vector, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Matrix__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Matrix")) SWIG_fail;
+-  result = (CSG_Matrix *)new CSG_Matrix();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Matrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Matrix",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Matrix" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Matrix__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Matrix",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Matrix" "', argument " "1"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Matrix" "', argument " "1"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (CSG_Matrix *)new CSG_Matrix((CSG_Matrix const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Create" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Create" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Create" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Matrix__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Matrix",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Matrix" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Matrix" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Matrix" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (CSG_Matrix *)new CSG_Matrix(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Matrix__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int arg2 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Matrix",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Matrix" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Matrix" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Matrix *)new CSG_Matrix(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Matrix(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 == 0) {
+-    return _wrap_new_CSG_Matrix__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Matrix__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Matrix__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_new_CSG_Matrix__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Matrix'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Matrix()\n"
+-    "    CSG_Matrix(CSG_Matrix const &)\n"
+-    "    CSG_Matrix(int,int,double *)\n"
+-    "    CSG_Matrix(int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double *arg4 = (double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Matrix_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Create" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Matrix_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Matrix_Create" "', argument " "4"" of type '" "double *""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Matrix_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Create" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Matrix_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Matrix_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Matrix_Create__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Matrix *,CSG_Matrix const &)\n"
+-    "    Create(CSG_Matrix *,int,int,double *)\n"
+-    "    Create(CSG_Matrix *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Destroy" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Add_Cols(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  int arg2 ;
+-  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:CSG_Matrix_Add_Cols",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Add_Cols" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Add_Cols" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Add_Cols(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Add_Rows(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  int arg2 ;
+-  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:CSG_Matrix_Add_Rows",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Add_Rows" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Add_Rows" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Add_Rows(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_NX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_NX",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_NX" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (int)((CSG_Matrix const *)arg1)->Get_NX();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_NY(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_NY",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_NY" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (int)((CSG_Matrix const *)arg1)->Get_NY();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double **result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Data" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (double **)((CSG_Matrix const *)arg1)->Get_Data();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_double, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___call__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Matrix___call__",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___call__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___call__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Matrix___call__" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_Matrix const *)arg1)->operator ()(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_asString" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (arg1)->asString();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_is_Square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_is_Square",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_is_Square" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)((CSG_Matrix const *)arg1)->is_Square();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_is_Equal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_is_Equal" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_is_Equal" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_is_Equal" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)((CSG_Matrix const *)arg1)->is_Equal((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Assign" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Assign" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Assign" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Assign" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Assign(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Assign__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Matrix *,double)\n"
+-    "    Assign(CSG_Matrix *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Add" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Add(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Add" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Add" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Add" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)(arg1)->Add((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Add(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Add__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Matrix *,double)\n"
+-    "    Add(CSG_Matrix *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Subtract(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Subtract" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Subtract" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Subtract" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)(arg1)->Subtract((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Multiply__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Multiply" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Multiply" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Multiply(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Multiply__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Multiply" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Multiply" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Multiply" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->Multiply((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Multiply__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Multiply" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix_Multiply" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix_Multiply" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->Multiply((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Multiply(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Multiply__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Multiply__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Multiply__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Multiply'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Multiply(CSG_Matrix *,double)\n"
+-    "    Multiply(CSG_Matrix const *,CSG_Vector const &)\n"
+-    "    Multiply(CSG_Matrix const *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  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:CSG_Matrix___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___eq__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___eq__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___eq__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (bool)((CSG_Matrix const *)arg1)->operator ==((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___iadd__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___iadd__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Matrix *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___iadd__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___iadd__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___iadd__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (CSG_Matrix *) &(arg1)->operator +=((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_Matrix *,double)\n"
+-    "    operator +=(CSG_Matrix *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___isub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___isub__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___isub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Matrix *) &(arg1)->operator -=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___isub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___isub__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___isub__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___isub__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (CSG_Matrix *) &(arg1)->operator -=((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___isub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___isub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___isub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix___isub__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator -=(CSG_Matrix *,double)\n"
+-    "    operator -=(CSG_Matrix *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___imul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___imul__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___imul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Matrix *) &(arg1)->operator *=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___imul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___imul__" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___imul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___imul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = (CSG_Matrix *) &(arg1)->operator *=((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___imul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___imul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___imul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix___imul__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator *=(CSG_Matrix *,double)\n"
+-    "    operator *=(CSG_Matrix *,CSG_Matrix const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___add__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___add__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Matrix const *)arg1)->operator +(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___add__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___add__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___add__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->operator +((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___add__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___add____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___add____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___sub__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___sub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Matrix const *)arg1)->operator -(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___sub__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___sub__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___sub__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->operator -((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___sub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___sub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___sub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___mul__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix___mul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Matrix const *)arg1)->operator *(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Vector result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___mul__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___mul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___mul__" "', argument " "2"" of type '" "CSG_Vector const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->operator *((CSG_Vector const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Vector(static_cast< const CSG_Vector& >(result))), SWIGTYPE_p_CSG_Vector, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___mul____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  CSG_Matrix *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix___mul__" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Matrix,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Matrix___mul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Matrix___mul__" "', argument " "2"" of type '" "CSG_Matrix const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Matrix * >(argp2);
+-  result = ((CSG_Matrix const *)arg1)->operator *((CSG_Matrix const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix___mul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___mul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Matrix, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Matrix___mul____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix___mul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Zero(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Set_Zero",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Zero" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)(arg1)->Set_Zero();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Identity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Set_Identity",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Identity" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)(arg1)->Set_Identity();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Transpose(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Set_Transpose",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Transpose" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)(arg1)->Set_Transpose();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Inverse__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  bool arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Matrix_Set_Inverse",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_Inverse(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Inverse__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Set_Inverse",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_Inverse(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Inverse__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Set_Inverse",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Set_Inverse" "', argument " "1"" of type '" "CSG_Matrix *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (bool)(arg1)->Set_Inverse();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Set_Inverse(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Matrix_Set_Inverse__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Set_Inverse__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(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_CSG_Matrix_Set_Inverse__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Set_Inverse'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Inverse(CSG_Matrix *,bool,int)\n"
+-    "    Set_Inverse(CSG_Matrix *,bool)\n"
+-    "    Set_Inverse(CSG_Matrix *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Determinant(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_Determinant",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Determinant" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = (double)((CSG_Matrix const *)arg1)->Get_Determinant();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Transpose(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_Transpose",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Transpose" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = ((CSG_Matrix const *)arg1)->Get_Transpose();
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Inverse__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  bool arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Matrix_Get_Inverse",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = ((CSG_Matrix const *)arg1)->Get_Inverse(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Inverse__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Matrix_Get_Inverse",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = ((CSG_Matrix const *)arg1)->Get_Inverse(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Inverse__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = (CSG_Matrix *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Matrix result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Matrix_Get_Inverse",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Matrix, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Matrix_Get_Inverse" "', argument " "1"" of type '" "CSG_Matrix const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  result = ((CSG_Matrix const *)arg1)->Get_Inverse();
+-  resultobj = SWIG_NewPointerObj((new CSG_Matrix(static_cast< const CSG_Matrix& >(result))), SWIGTYPE_p_CSG_Matrix, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Matrix_Get_Inverse(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Matrix_Get_Inverse__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Matrix_Get_Inverse__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(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_CSG_Matrix_Get_Inverse__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Matrix_Get_Inverse'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Inverse(CSG_Matrix const *,bool,int)\n"
+-    "    Get_Inverse(CSG_Matrix const *,bool)\n"
+-    "    Get_Inverse(CSG_Matrix const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Matrix_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Matrix, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Matrix_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Matrix_Solve",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Matrix,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Matrix_Solve" "', argument " "1"" of type '" "CSG_Matrix &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Matrix_Solve" "', argument " "1"" of type '" "CSG_Matrix &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Matrix_Solve" "', argument " "2"" of type '" "CSG_Vector &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Matrix_Solve" "', argument " "2"" of type '" "CSG_Vector &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Matrix_Solve" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)SG_Matrix_Solve(*arg1,*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Matrix_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Matrix *arg1 = 0 ;
+-  CSG_Vector *arg2 = 0 ;
+-  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:SG_Matrix_Solve",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Matrix,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Matrix_Solve" "', argument " "1"" of type '" "CSG_Matrix &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Matrix_Solve" "', argument " "1"" of type '" "CSG_Matrix &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Matrix * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Vector,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Matrix_Solve" "', argument " "2"" of type '" "CSG_Vector &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Matrix_Solve" "', argument " "2"" of type '" "CSG_Vector &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Vector * >(argp2);
+-  result = (bool)SG_Matrix_Solve(*arg1,*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Matrix_Solve(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_SG_Matrix_Solve__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Matrix, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Vector, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Matrix_Solve__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Matrix_Solve'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Matrix_Solve(CSG_Matrix &,CSG_Vector &,bool)\n"
+-    "    SG_Matrix_Solve(CSG_Matrix &,CSG_Vector &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Radius__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_Radius *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid_Radius",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid_Radius" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  result = (CSG_Grid_Radius *)new CSG_Grid_Radius(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Radius, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Radius__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid_Radius")) SWIG_fail;
+-  result = (CSG_Grid_Radius *)new CSG_Grid_Radius();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Radius, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Radius(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Grid_Radius__SWIG_1(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Grid_Radius__SWIG_0(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Grid_Radius'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Grid_Radius(int)\n"
+-    "    CSG_Grid_Radius()\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid_Radius(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid_Radius",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid_Radius" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  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:CSG_Grid_Radius_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Create" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Radius_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Destroy" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Maximum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Radius_Get_Maximum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_Maximum" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  result = (int)(arg1)->Get_Maximum();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_nPoints__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Radius_Get_nPoints",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_nPoints" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  result = (int)(arg1)->Get_nPoints();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_nPoints__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Radius_Get_nPoints",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_nPoints" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Get_nPoints" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_nPoints(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_nPoints(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Radius_Get_nPoints__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Radius_Get_nPoints__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Radius_Get_nPoints'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_nPoints(CSG_Grid_Radius *)\n"
+-    "    Get_nPoints(CSG_Grid_Radius *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Radius_Get_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  result = (double)(arg1)->Get_Point(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int *arg5 = 0 ;
+-  int *arg6 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Radius_Get_Point",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  arg5 = reinterpret_cast< int * >(argp5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  arg6 = reinterpret_cast< int * >(argp6);
+-  result = (double)(arg1)->Get_Point(arg2,arg3,arg4,*arg5,*arg6);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Point__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int *arg4 = 0 ;
+-  int *arg5 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Radius_Get_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  arg5 = reinterpret_cast< int * >(argp5);
+-  result = (double)(arg1)->Get_Point(arg2,arg3,*arg4,*arg5);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Point__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Radius *arg1 = (CSG_Grid_Radius *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  int *arg6 = 0 ;
+-  int *arg7 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  void *argp7 = 0 ;
+-  int res7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Radius_Get_Point",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Radius, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "1"" of type '" "CSG_Grid_Radius *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Radius * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  arg6 = reinterpret_cast< int * >(argp6);
+-  res7 = SWIG_ConvertPtr(obj6, &argp7, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "7"" of type '" "int &""'"); 
+-  }
+-  if (!argp7) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Radius_Get_Point" "', argument " "7"" of type '" "int &""'"); 
+-  }
+-  arg7 = reinterpret_cast< int * >(argp7);
+-  result = (double)(arg1)->Get_Point(arg2,arg3,arg4,arg5,*arg6,*arg7);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Radius_Get_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Grid_Radius_Get_Point__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            void *vptr = 0;
+-            int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_int, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Grid_Radius_Get_Point__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            void *vptr = 0;
+-            int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_int, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_int, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Grid_Radius_Get_Point__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Radius, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_int, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                void *vptr = 0;
+-                int res = SWIG_ConvertPtr(argv[6], &vptr, SWIGTYPE_p_int, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Radius_Get_Point__SWIG_3(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Radius_Get_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point(CSG_Grid_Radius *,int,int &,int &)\n"
+-    "    Get_Point(CSG_Grid_Radius *,int,int,int,int &,int &)\n"
+-    "    Get_Point(CSG_Grid_Radius *,int,int,int &,int &)\n"
+-    "    Get_Point(CSG_Grid_Radius *,int,int,int,int,int &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_Radius_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid_Radius, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Simple_Statistics(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Simple_Statistics")) SWIG_fail;
+-  result = (CSG_Simple_Statistics *)new CSG_Simple_Statistics();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Simple_Statistics, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Invalidate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Invalidate",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Invalidate" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  (arg1)->Invalidate();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_is_Evaluated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_is_Evaluated",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_is_Evaluated" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (bool)(arg1)->is_Evaluated();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Count" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Weights(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Weights",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Weights" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Weights();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Minimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Minimum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Minimum" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Minimum();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Maximum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Maximum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Maximum" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Maximum();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Range",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Range" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Range();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Sum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Sum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Sum" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Sum();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Mean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Mean",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Mean" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Mean();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_Variance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_Variance",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_Variance" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_Variance();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Get_StdDev(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Simple_Statistics_Get_StdDev",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Get_StdDev" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  result = (double)(arg1)->Get_StdDev();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Add_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Simple_Statistics_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Add_Value" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Simple_Statistics_Add_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Simple_Statistics_Add_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Add_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Simple_Statistics_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Simple_Statistics_Add_Value" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Simple_Statistics_Add_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Simple_Statistics_Add_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Simple_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Simple_Statistics_Add_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Simple_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Simple_Statistics_Add_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Simple_Statistics_Add_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Value(CSG_Simple_Statistics *,double,double)\n"
+-    "    Add_Value(CSG_Simple_Statistics *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Simple_Statistics(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Simple_Statistics *arg1 = (CSG_Simple_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Simple_Statistics",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Simple_Statistics, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Simple_Statistics" "', argument " "1"" of type '" "CSG_Simple_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Simple_Statistics * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Simple_Statistics_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Simple_Statistics, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Class_Statistics(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Class_Statistics")) SWIG_fail;
+-  result = (CSG_Class_Statistics *)new CSG_Class_Statistics();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Class_Statistics, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Class_Statistics(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Class_Statistics",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Class_Statistics" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Create" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  (arg1)->Create();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Destroy" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Reset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Reset",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Reset" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  (arg1)->Reset();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Count" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Class_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Class_Statistics_Get_Class_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Class_Count" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Class_Statistics_Get_Class_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Class_Count(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Class_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Class_Statistics_Get_Class_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Class_Value" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Class_Statistics_Get_Class_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Class_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Class__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  int arg2 ;
+-  double *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Class_Statistics_Get_Class",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  result = (bool)(arg1)->Get_Class(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Class__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  int arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Class_Statistics_Get_Class",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Class" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  result = (bool)(arg1)->Get_Class(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Class(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Class_Statistics_Get_Class__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Class_Statistics_Get_Class__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Class_Statistics_Get_Class'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Class(CSG_Class_Statistics *,int,double &,int &)\n"
+-    "    Get_Class(CSG_Class_Statistics *,int,int &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Add_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Class_Statistics_Add_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Add_Value" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Class_Statistics_Add_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Add_Value(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Majority__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Get_Majority",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  result = (int)(arg1)->Get_Majority();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Majority__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  double *arg2 = 0 ;
+-  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:CSG_Class_Statistics_Get_Majority",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)(arg1)->Get_Majority(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Majority__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  double *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Class_Statistics_Get_Majority",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Majority" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  result = (bool)(arg1)->Get_Majority(*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Majority(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Class_Statistics_Get_Majority__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Class_Statistics_Get_Majority__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Class_Statistics_Get_Majority__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Class_Statistics_Get_Majority'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Majority(CSG_Class_Statistics *)\n"
+-    "    Get_Majority(CSG_Class_Statistics *,double &)\n"
+-    "    Get_Majority(CSG_Class_Statistics *,double &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Minority__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Class_Statistics_Get_Minority",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  result = (int)(arg1)->Get_Minority();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Minority__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  double *arg2 = 0 ;
+-  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:CSG_Class_Statistics_Get_Minority",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)(arg1)->Get_Minority(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Minority__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Class_Statistics *arg1 = (CSG_Class_Statistics *) 0 ;
+-  double *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Class_Statistics_Get_Minority",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Class_Statistics, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "1"" of type '" "CSG_Class_Statistics *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Class_Statistics * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Class_Statistics_Get_Minority" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  result = (bool)(arg1)->Get_Minority(*arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Class_Statistics_Get_Minority(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Class_Statistics_Get_Minority__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Class_Statistics_Get_Minority__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Class_Statistics, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Class_Statistics_Get_Minority__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Class_Statistics_Get_Minority'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Minority(CSG_Class_Statistics *)\n"
+-    "    Get_Minority(CSG_Class_Statistics *,double &)\n"
+-    "    Get_Minority(CSG_Class_Statistics *,double &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Class_Statistics_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Class_Statistics, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Cluster_Analysis(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Cluster_Analysis")) SWIG_fail;
+-  result = (CSG_Cluster_Analysis *)new CSG_Cluster_Analysis();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Cluster_Analysis, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Cluster_Analysis(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Cluster_Analysis",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Cluster_Analysis" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  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:CSG_Cluster_Analysis_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Create" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Create" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Destroy" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Add_Element(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Add_Element",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Add_Element" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (bool)(arg1)->Add_Element();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Set_Feature(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Cluster_Analysis_Set_Feature",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Set_Feature" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Set_Feature" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Cluster_Analysis_Set_Feature" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Cluster_Analysis_Set_Feature" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Feature(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_Cluster(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Cluster_Analysis_Get_Cluster",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_Cluster" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Get_Cluster" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_Cluster(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Cluster_Analysis_Execute",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Execute" "', argument " "1"" of type '" "CSG_Cluster_Analysis *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Execute" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Cluster_Analysis_Execute" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Execute(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_nElements(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Get_nElements",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_nElements" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_nElements();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_nFeatures(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Get_nFeatures",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_nFeatures" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_nFeatures();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_nClusters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Get_nClusters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_nClusters" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_nClusters();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_Iteration(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Get_Iteration",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_Iteration" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_Iteration();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_SP(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Cluster_Analysis_Get_SP",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_SP" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  result = (double)((CSG_Cluster_Analysis const *)arg1)->Get_SP();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_nMembers(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Cluster_Analysis_Get_nMembers",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_nMembers" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Get_nMembers" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Cluster_Analysis const *)arg1)->Get_nMembers(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_Variance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Cluster_Analysis_Get_Variance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_Variance" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Get_Variance" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Cluster_Analysis const *)arg1)->Get_Variance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Cluster_Analysis_Get_Centroid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Cluster_Analysis *arg1 = (CSG_Cluster_Analysis *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Cluster_Analysis_Get_Centroid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Cluster_Analysis, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Cluster_Analysis_Get_Centroid" "', argument " "1"" of type '" "CSG_Cluster_Analysis const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Cluster_Analysis * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Cluster_Analysis_Get_Centroid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Cluster_Analysis_Get_Centroid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_Cluster_Analysis const *)arg1)->Get_Centroid(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Cluster_Analysis_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Cluster_Analysis, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Spline(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Spline")) SWIG_fail;
+-  result = (CSG_Spline *)new CSG_Spline();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Spline, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Spline(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Spline",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Spline" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Spline_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Destroy" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Spline_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Spline_Create" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Spline_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Spline_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Spline_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Spline_Create" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Spline_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Spline_Create" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Spline_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Spline_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Spline_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Spline_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Spline_Create" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Spline_Create" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Spline_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Spline_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Spline_Create" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Spline_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Spline_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Spline_Create" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Spline_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Create" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); 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_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Spline_Create__SWIG_5(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Spline_Create__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Spline_Create__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Spline_Create__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Spline_Create__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Spline_Create__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Spline_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Spline *,double *,double *,int,double,double)\n"
+-    "    Create(CSG_Spline *,double *,double *,int,double)\n"
+-    "    Create(CSG_Spline *,double *,double *,int)\n"
+-    "    Create(CSG_Spline *,double,double)\n"
+-    "    Create(CSG_Spline *,double)\n"
+-    "    Create(CSG_Spline *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Spline_Add",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Add" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Spline_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Spline_Add" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Add(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Get_xMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Spline_Get_xMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Get_xMin" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  result = (double)(arg1)->Get_xMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Get_xMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Spline_Get_xMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Get_xMax" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  result = (double)(arg1)->Get_xMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Get_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double arg2 ;
+-  double *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Spline_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Get_Value" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Spline_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Spline_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Spline_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)(arg1)->Get_Value(arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Get_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Spline *arg1 = (CSG_Spline *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Spline_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Spline_Get_Value" "', argument " "1"" of type '" "CSG_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Spline_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Spline_Get_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Spline_Get_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Spline_Get_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Spline_Get_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Value(CSG_Spline *,double,double &)\n"
+-    "    Get_Value(CSG_Spline *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Spline_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Spline, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Thin_Plate_Spline(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Thin_Plate_Spline")) SWIG_fail;
+-  result = (CSG_Thin_Plate_Spline *)new CSG_Thin_Plate_Spline();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Thin_Plate_Spline, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Thin_Plate_Spline(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Thin_Plate_Spline",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Thin_Plate_Spline" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Thin_Plate_Spline_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Destroy" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Set_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  int arg2 ;
+-  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:CSG_Thin_Plate_Spline_Set_Point_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Set_Point_Count" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Set_Point_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Point_Count(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Get_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Thin_Plate_Spline_Get_Point_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Get_Point_Count" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  result = (int)(arg1)->Get_Point_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Get_Points(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Points_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Thin_Plate_Spline_Get_Points",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Get_Points" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  result = (CSG_Points_Z *) &(arg1)->Get_Points();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Points_Z, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Add_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Thin_Plate_Spline_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Add_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Thin_Plate_Spline_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Thin_Plate_Spline_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Add_Point((TSG_Point const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Add_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Thin_Plate_Spline_Add_Point__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Thin_Plate_Spline_Add_Point__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Thin_Plate_Spline_Add_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Point(CSG_Thin_Plate_Spline *,double,double,double)\n"
+-    "    Add_Point(CSG_Thin_Plate_Spline *,TSG_Point const &,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Set_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Thin_Plate_Spline_Set_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)(arg1)->Set_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Set_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  int arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Thin_Plate_Spline_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "3"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Thin_Plate_Spline_Set_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Point(arg2,(TSG_Point const &)*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Set_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Thin_Plate_Spline_Set_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Thin_Plate_Spline_Set_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Thin_Plate_Spline_Set_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Point(CSG_Thin_Plate_Spline *,int,double,double,double)\n"
+-    "    Set_Point(CSG_Thin_Plate_Spline *,int,TSG_Point const &,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Thin_Plate_Spline_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Thin_Plate_Spline_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Thin_Plate_Spline_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Create" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Create(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Thin_Plate_Spline_Create__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Thin_Plate_Spline_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Thin_Plate_Spline, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Thin_Plate_Spline_Create__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Thin_Plate_Spline_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Thin_Plate_Spline *,double,bool)\n"
+-    "    Create(CSG_Thin_Plate_Spline *,double)\n"
+-    "    Create(CSG_Thin_Plate_Spline *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_is_Okay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Thin_Plate_Spline_is_Okay",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_is_Okay" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  result = (bool)(arg1)->is_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Thin_Plate_Spline_Get_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Thin_Plate_Spline *arg1 = (CSG_Thin_Plate_Spline *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Thin_Plate_Spline_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Thin_Plate_Spline, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Thin_Plate_Spline_Get_Value" "', argument " "1"" of type '" "CSG_Thin_Plate_Spline *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Thin_Plate_Spline * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Thin_Plate_Spline_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Thin_Plate_Spline_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (double)(arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Thin_Plate_Spline_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Thin_Plate_Spline, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Regression(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Regression")) SWIG_fail;
+-  result = (CSG_Regression *)new CSG_Regression();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Regression, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Regression(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Regression",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Regression" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Destroy" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Set_Values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  double *arg4 = (double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Regression_Set_Values",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Set_Values" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Set_Values" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Regression_Set_Values" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Regression_Set_Values" "', argument " "4"" of type '" "double *""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  (arg1)->Set_Values(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Add_Values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Regression_Add_Values",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Add_Values" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Add_Values" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Regression_Add_Values" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Add_Values(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_Count" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_xValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Get_xValue",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_xValue" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Get_xValue" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_xValue(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_yValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Get_yValue",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_yValue" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Get_yValue" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_yValue(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_Values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  double *arg3 = 0 ;
+-  double *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Regression_Get_Values",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_Values" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Get_Values" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Regression_Get_Values" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Regression_Get_Values" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Regression_Get_Values" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Regression_Get_Values" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)(arg1)->Get_Values(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_xMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_xMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_xMin" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_xMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_xMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_xMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_xMax" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_xMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_xMean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_xMean",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_xMean" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_xMean();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_xVariance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_xVariance",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_xVariance" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_xVariance();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Get_x",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_x" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Get_x" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_x(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_yMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_yMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_yMin" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_yMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_yMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_yMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_yMax" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_yMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_yMean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_yMean",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_yMean" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_yMean();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_yVariance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_yVariance",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_yVariance" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_yVariance();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Get_y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_y" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Get_y" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_y(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_Constant(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_Constant",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_Constant" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_Constant();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_Coefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_Coefficient",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_Coefficient" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_Coefficient();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_R(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_R",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_R" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_R();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_R2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_R2",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_R2" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (double)(arg1)->Get_R2();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_asString" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Regression_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Get_Type" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (TSG_Regression_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Calculate__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  TSG_Regression_Type arg2 ;
+-  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:CSG_Regression_Calculate",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Calculate" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Calculate" "', argument " "2"" of type '" "TSG_Regression_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Regression_Type >(val2);
+-  result = (bool)(arg1)->Calculate(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Calculate__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Calculate",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Calculate" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  result = (bool)(arg1)->Calculate();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Calculate__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  double *arg4 = (double *) 0 ;
+-  TSG_Regression_Type arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Regression_Calculate",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Calculate" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Calculate" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Regression_Calculate" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Regression_Calculate" "', argument " "4"" of type '" "double *""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Regression_Calculate" "', argument " "5"" of type '" "TSG_Regression_Type""'");
+-  } 
+-  arg5 = static_cast< TSG_Regression_Type >(val5);
+-  result = (bool)(arg1)->Calculate(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Calculate__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression *arg1 = (CSG_Regression *) 0 ;
+-  int arg2 ;
+-  double *arg3 = (double *) 0 ;
+-  double *arg4 = (double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Regression_Calculate",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Calculate" "', argument " "1"" of type '" "CSG_Regression *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Calculate" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Regression_Calculate" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Regression_Calculate" "', argument " "4"" of type '" "double *""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)(arg1)->Calculate(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Calculate(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Regression, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Regression_Calculate__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Regression_Calculate__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Regression_Calculate__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Regression_Calculate__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Regression_Calculate'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Calculate(CSG_Regression *,TSG_Regression_Type)\n"
+-    "    Calculate(CSG_Regression *)\n"
+-    "    Calculate(CSG_Regression *,int,double *,double *,TSG_Regression_Type)\n"
+-    "    Calculate(CSG_Regression *,int,double *,double *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Regression_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Regression, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Regression_Multiple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Regression_Multiple")) SWIG_fail;
+-  result = (CSG_Regression_Multiple *)new CSG_Regression_Multiple();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Regression_Multiple, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Regression_Multiple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Regression_Multiple",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Regression_Multiple" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Multiple_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Destroy" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Calculate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  CSG_Table *arg2 = 0 ;
+-  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:CSG_Regression_Multiple_Calculate",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Calculate" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Table,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Regression_Multiple_Calculate" "', argument " "2"" of type '" "CSG_Table const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Regression_Multiple_Calculate" "', argument " "2"" of type '" "CSG_Table const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)(arg1)->Calculate((CSG_Table const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Result(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Multiple_Get_Result",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Result" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  result = (CSG_Table *)(arg1)->Get_Result();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Multiple_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Count" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_Index",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Index" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Index(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Order(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_Order",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Order" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_Order" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Order(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_RConst(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Regression_Multiple_Get_RConst",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_RConst" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  result = (double)(arg1)->Get_RConst();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_RCoeff__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Regression_Multiple_Get_RCoeff",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_RCoeff" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_RCoeff" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Regression_Multiple_Get_RCoeff" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)(arg1)->Get_RCoeff(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_RCoeff__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_RCoeff",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_RCoeff" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_RCoeff" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_RCoeff(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_RCoeff(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Regression_Multiple_Get_RCoeff__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Regression_Multiple_Get_RCoeff__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Regression_Multiple_Get_RCoeff'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_RCoeff(CSG_Regression_Multiple *,int,bool)\n"
+-    "    Get_RCoeff(CSG_Regression_Multiple *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Regression_Multiple_Get_R2",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_R2" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_R2" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Regression_Multiple_Get_R2" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)(arg1)->Get_R2(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_R2",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_R2" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_R2" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_R2(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Regression_Multiple_Get_R2__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Regression_Multiple_Get_R2__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Regression_Multiple_Get_R2'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_R2(CSG_Regression_Multiple *,int,bool)\n"
+-    "    Get_R2(CSG_Regression_Multiple *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2_Change__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Regression_Multiple_Get_R2_Change",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_R2_Change" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_R2_Change" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Regression_Multiple_Get_R2_Change" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)(arg1)->Get_R2_Change(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2_Change__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_R2_Change",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_R2_Change" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_R2_Change" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_R2_Change(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_R2_Change(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Regression_Multiple_Get_R2_Change__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Regression_Multiple_Get_R2_Change__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Regression_Multiple_Get_R2_Change'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_R2_Change(CSG_Regression_Multiple *,int,bool)\n"
+-    "    Get_R2_Change(CSG_Regression_Multiple *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Name__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Regression_Multiple_Get_Name",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Name" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Regression_Multiple_Get_Name" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (wchar_t *)(arg1)->Get_Name(arg2,arg3);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Name__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Regression_Multiple *arg1 = (CSG_Regression_Multiple *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Regression_Multiple_Get_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Regression_Multiple, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Regression_Multiple_Get_Name" "', argument " "1"" of type '" "CSG_Regression_Multiple *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Regression_Multiple * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Regression_Multiple_Get_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)(arg1)->Get_Name(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Regression_Multiple_Get_Name(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Regression_Multiple_Get_Name__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Regression_Multiple, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Regression_Multiple_Get_Name__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Regression_Multiple_Get_Name'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Name(CSG_Regression_Multiple *,int,bool)\n"
+-    "    Get_Name(CSG_Regression_Multiple *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Regression_Multiple_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Regression_Multiple, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Formula(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Formula")) SWIG_fail;
+-  result = (CSG_Formula *)new CSG_Formula();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Formula, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Formula(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Formula",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Formula" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Help_Operators(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":CSG_Formula_Get_Help_Operators")) SWIG_fail;
+-  result = CSG_Formula::Get_Help_Operators();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Help_Usage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":CSG_Formula_Get_Help_Usage")) SWIG_fail;
+-  result = CSG_Formula::Get_Help_Usage();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Error__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  int *arg2 = (int *) 0 ;
+-  CSG_String *arg3 = (CSG_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Formula_Get_Error",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Error" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Get_Error" "', argument " "2"" of type '" "int *""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_String, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Formula_Get_Error" "', argument " "3"" of type '" "CSG_String *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  result = (bool)(arg1)->Get_Error(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Error__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  int *arg2 = (int *) 0 ;
+-  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:CSG_Formula_Get_Error",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Error" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Get_Error" "', argument " "2"" of type '" "int *""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  result = (bool)(arg1)->Get_Error(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Error__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_Get_Error",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Error" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  result = (bool)(arg1)->Get_Error();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Error(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Formula_Get_Error__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Formula_Get_Error__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_String, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Formula_Get_Error__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Formula_Get_Error'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Error(CSG_Formula *,int *,CSG_String *)\n"
+-    "    Get_Error(CSG_Formula *,int *)\n"
+-    "    Get_Error(CSG_Formula *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Add_Function(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  TSG_PFNC_Formula_1 arg3 = (TSG_PFNC_Formula_1) 0 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Formula_Add_Function",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Add_Function" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Add_Function" "', argument " "2"" of type '" "wchar_t *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj2, (void**)(&arg3), SWIGTYPE_p_f_double__double);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "CSG_Formula_Add_Function" "', argument " "3"" of type '" "TSG_PFNC_Formula_1""'"); 
+-    }
+-  }
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Formula_Add_Function" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Formula_Add_Function" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Add_Function(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Del_Function(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_Del_Function",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Del_Function" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Del_Function" "', argument " "2"" of type '" "wchar_t *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)(arg1)->Del_Function(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Set_Formula(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_Set_Formula",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Set_Formula" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Set_Formula" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Formula((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Formula(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_Get_Formula",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Formula" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  result = (arg1)->Get_Formula();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Set_Variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  wchar_t arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  wchar_t val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Formula_Set_Variable",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Set_Variable" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  ecode2 = SWIG_AsVal_wchar_t(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Formula_Set_Variable" "', argument " "2"" of type '" "wchar_t""'");
+-  } 
+-  arg2 = static_cast< wchar_t >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Formula_Set_Variable" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_Variable(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_Get_Value",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Value" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  result = (double)(arg1)->Get_Value();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Value" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Formula_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Formula_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Value" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Get_Value" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Formula_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value__SWIG_3__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Value" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_Get_Value" "', argument " "2"" of type '" "wchar_t *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (double)(arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value__SWIG_3(PyObject *self, PyObject *args) {
+-  PyObject *resultobj;
+-  PyObject *varargs;
+-  PyObject *newargs;
+-  
+-  newargs = PyTuple_GetSlice(args,0,2);
+-  varargs = PyTuple_GetSlice(args,2,PyTuple_Size(args)+1);
+-  resultobj = _wrap_CSG_Formula_Get_Value__SWIG_3__varargs__(self,newargs,varargs);
+-  Py_XDECREF(newargs);
+-  Py_XDECREF(varargs);
+-  return resultobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Value(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Formula_Get_Value__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Formula_Get_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc >= 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        if (argc <= 2) {
+-          return _wrap_CSG_Formula_Get_Value__SWIG_3(self, args);
+-        }
+-        return _wrap_CSG_Formula_Get_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Formula, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Formula_Get_Value__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Formula_Get_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Value(CSG_Formula *)\n"
+-    "    Get_Value(CSG_Formula *,double)\n"
+-    "    Get_Value(CSG_Formula *,double *,int)\n"
+-    "    Get_Value(CSG_Formula *,wchar_t *,...)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_Get_Used_Variables(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula *arg1 = (CSG_Formula *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_Get_Used_Variables",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_Get_Used_Variables" "', argument " "1"" of type '" "CSG_Formula *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Used_Variables();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Formula_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Formula, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_name_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_TSG_Formula_Item_name_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_name_set" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Formula_TSG_Formula_Item_name_set" "', argument " "2"" of type '" "wchar_t *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  if (arg1->name) delete[] arg1->name;
+-  if (arg2) {
+-    size_t size = wcslen(reinterpret_cast< const wchar_t * >(arg2)) + 1;
+-    arg1->name = (wchar_t *)reinterpret_cast< wchar_t* >(memcpy((new wchar_t[size]), reinterpret_cast< const wchar_t * >(arg2), sizeof(wchar_t)*(size)));
+-  } else {
+-    arg1->name = 0;
+-  }
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_name_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_TSG_Formula_Item_name_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_name_get" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  result = (wchar_t *) ((arg1)->name);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_f_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  TSG_PFNC_Formula_1 arg2 = (TSG_PFNC_Formula_1) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_TSG_Formula_Item_f_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_f_set" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj1, (void**)(&arg2), SWIGTYPE_p_f_double__double);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "CSG_Formula_TSG_Formula_Item_f_set" "', argument " "2"" of type '" "TSG_PFNC_Formula_1""'"); 
+-    }
+-  }
+-  if (arg1) (arg1)->f = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_f_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_PFNC_Formula_1 result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_TSG_Formula_Item_f_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_f_get" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  result = (TSG_PFNC_Formula_1) ((arg1)->f);
+-  resultobj = SWIG_NewFunctionPtrObj((void *)(result), SWIGTYPE_p_f_double__double);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_n_pars_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_TSG_Formula_Item_n_pars_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_n_pars_set" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Formula_TSG_Formula_Item_n_pars_set" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  if (arg1) (arg1)->n_pars = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_n_pars_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_TSG_Formula_Item_n_pars_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_n_pars_get" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  result = (int) ((arg1)->n_pars);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_varying_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Formula_TSG_Formula_Item_varying_set",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_varying_set" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Formula_TSG_Formula_Item_varying_set" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  if (arg1) (arg1)->varying = arg2;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Formula_TSG_Formula_Item_varying_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Formula_TSG_Formula_Item_varying_get",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Formula_TSG_Formula_Item_varying_get" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  result = (int) ((arg1)->varying);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Formula_TSG_Formula_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Formula_TSG_Formula_Item")) SWIG_fail;
+-  result = (CSG_Formula_TSG_Formula_Item *)new CSG_Formula_TSG_Formula_Item();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Formula_TSG_Formula_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Formula_TSG_Formula_Item *arg1 = (CSG_Formula_TSG_Formula_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Formula_TSG_Formula_Item",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Formula_TSG_Formula_Item" "', argument " "1"" of type '" "CSG_Formula_TSG_Formula_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Formula_TSG_Formula_Item * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Formula_TSG_Formula_Item_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Formula_TSG_Formula_Item, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Trend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Trend")) SWIG_fail;
+-  result = (CSG_Trend *)new CSG_Trend();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Trend, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Trend(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Trend",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Formula__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Set_Formula",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Formula" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Set_Formula" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Formula((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Formula__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Set_Formula",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Formula" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (bool)(arg1)->Set_Formula();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Formula(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Trend_Set_Formula__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Trend_Set_Formula__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Trend_Set_Formula'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Formula(CSG_Trend *,wchar_t const *)\n"
+-    "    Set_Formula(CSG_Trend *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Formula__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Get_Formula",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Formula" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Get_Formula" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Formula(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Formula__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Formula",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Formula" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (arg1)->Get_Formula();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Formula(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Trend_Get_Formula__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Trend_Get_Formula__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Trend_Get_Formula'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Formula(CSG_Trend *,int)\n"
+-    "    Get_Formula(CSG_Trend *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Parameter_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Parameter_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Parameter_Count" "', argument " "1"" of type '" "CSG_Trend const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (int)((CSG_Trend const *)arg1)->Get_Parameter_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Parameters" "', argument " "1"" of type '" "CSG_Trend const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double *)((CSG_Trend const *)arg1)->Get_Parameters();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Clr_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Clr_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Clr_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  (arg1)->Clr_Data();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Data__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Trend_Set_Data",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Trend_Set_Data" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Trend_Set_Data" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Trend_Set_Data" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  (arg1)->Set_Data(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Data__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Trend_Set_Data",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Trend_Set_Data" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Trend_Set_Data" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_Data(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Data__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  CSG_Points *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Trend_Set_Data",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Trend_Set_Data" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Set_Data((CSG_Points const &)*arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Data__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  CSG_Points *arg2 = 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:CSG_Trend_Set_Data",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Trend_Set_Data" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  (arg1)->Set_Data((CSG_Points const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Data(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Points, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Trend_Set_Data__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Points, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Trend_Set_Data__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Trend_Set_Data__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Trend_Set_Data__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Trend_Set_Data'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Data(CSG_Trend *,double *,double *,int,bool)\n"
+-    "    Set_Data(CSG_Trend *,double *,double *,int)\n"
+-    "    Set_Data(CSG_Trend *,CSG_Points const &,bool)\n"
+-    "    Set_Data(CSG_Trend *,CSG_Points const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Add_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Trend_Add_Data",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Add_Data" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Add_Data" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Trend_Add_Data" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Add_Data(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Data_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_Count" "', argument " "1"" of type '" "CSG_Trend const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (int)((CSG_Trend const *)arg1)->Get_Data_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Get_Data_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_X" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Get_Data_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Data_X(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Get_Data_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_Y" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Get_Data_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Data_Y(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_XMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Data_XMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_XMin" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_Data_XMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_XMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Data_XMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_XMax" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_Data_XMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_YMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Data_YMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_YMin" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_Data_YMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Data_YMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Data_YMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Data_YMax" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_Data_YMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Max_Iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  int arg2 ;
+-  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:CSG_Trend_Set_Max_Iterations",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Max_Iterations" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Set_Max_Iterations" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Max_Iterations(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Max_Iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Max_Iterations",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Max_Iterations" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (int)(arg1)->Get_Max_Iterations();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Set_Max_Lambda(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Set_Max_Lambda",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Set_Max_Lambda" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Set_Max_Lambda" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Max_Lambda(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Max_Lambda(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Max_Lambda",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Max_Lambda" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_Max_Lambda();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Trend_Get_Trend",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Trend_Get_Trend" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Trend_Get_Trend" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Trend_Get_Trend" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (bool)(arg1)->Get_Trend(arg2,arg3,arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double *arg2 = (double *) 0 ;
+-  double *arg3 = (double *) 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Trend_Get_Trend",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "double *""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_double, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Trend_Get_Trend" "', argument " "3"" of type '" "double *""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Trend_Get_Trend" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Get_Trend(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  CSG_Points *arg2 = 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Trend_Get_Trend",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Trend_Get_Trend" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Get_Trend((CSG_Points const &)*arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  CSG_Points *arg2 = 0 ;
+-  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:CSG_Trend_Get_Trend",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Trend_Get_Trend" "', argument " "2"" of type '" "CSG_Points const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  result = (bool)(arg1)->Get_Trend((CSG_Points const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Trend",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Trend" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (bool)(arg1)->Get_Trend();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Trend(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Trend_Get_Trend__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Points, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Trend_Get_Trend__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Points, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Trend_Get_Trend__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Trend_Get_Trend__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Trend, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Trend_Get_Trend__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Trend_Get_Trend'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Trend(CSG_Trend *,double *,double *,int,wchar_t const *)\n"
+-    "    Get_Trend(CSG_Trend *,double *,double *,int)\n"
+-    "    Get_Trend(CSG_Trend *,CSG_Points const &,wchar_t const *)\n"
+-    "    Get_Trend(CSG_Trend *,CSG_Points const &)\n"
+-    "    Get_Trend(CSG_Trend *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_is_Okay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_is_Okay",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_is_Okay" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (bool)(arg1)->is_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Error(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_Error",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Error" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (arg1)->Get_Error();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_ChiSquare(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_ChiSquare",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_ChiSquare" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_ChiSquare();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_R2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Trend_Get_R2",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_R2" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  result = (double)(arg1)->Get_R2();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Trend_Get_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Trend *arg1 = (CSG_Trend *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Trend_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Trend, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Trend_Get_Value" "', argument " "1"" of type '" "CSG_Trend *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Trend * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Trend_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Trend_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Trend, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_DataObject_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Object_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_DataObject_Identifier",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_DataObject_Identifier" "', argument " "1"" of type '" "TSG_Data_Object_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Object_Type >(val1);
+-  result = (wchar_t *)SG_Get_DataObject_Identifier(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_DataObject_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Object_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_DataObject_Name",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_DataObject_Name" "', argument " "1"" of type '" "TSG_Data_Object_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Object_Type >(val1);
+-  result = (wchar_t *)SG_Get_DataObject_Name(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Data_Object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Data_Object",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Data_Object" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Destroy" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_ObjectType" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_Data_Object const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_is_Valid" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (bool)((CSG_Data_Object const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Data_Object_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Save" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Data_Object_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Data_Object_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Data_Object_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Data_Object_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Save" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Data_Object_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Data_Object_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Data_Object_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Data_Object_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Data_Object_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_Data_Object *,CSG_String const &,int)\n"
+-    "    Save(CSG_Data_Object *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_File_Name__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Data_Object_Get_File_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_File_Name" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Data_Object_Get_File_Name" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (wchar_t *)((CSG_Data_Object const *)arg1)->Get_File_Name(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_File_Name__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_File_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_File_Name" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (wchar_t *)((CSG_Data_Object const *)arg1)->Get_File_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_File_Name(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Data_Object_Get_File_Name__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Data_Object_Get_File_Name__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Data_Object_Get_File_Name'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_File_Name(CSG_Data_Object const *,bool)\n"
+-    "    Get_File_Name(CSG_Data_Object const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_File_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_File_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_File_Type" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (int)((CSG_Data_Object const *)arg1)->Get_File_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_Data_Object_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Assign" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Data_Object_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Data_Object_Set_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Set_Name" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Data_Object_Set_Name" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Name((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_Name" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (wchar_t *)((CSG_Data_Object const *)arg1)->Get_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_Modified__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Data_Object_Set_Modified",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Set_Modified" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Data_Object_Set_Modified" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Modified(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_Modified__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Set_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Set_Modified" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  (arg1)->Set_Modified();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_Modified(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Data_Object_Set_Modified__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Data_Object_Set_Modified__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Data_Object_Set_Modified'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Modified(CSG_Data_Object *,bool)\n"
+-    "    Set_Modified(CSG_Data_Object *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_is_Modified(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_is_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_is_Modified" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (bool)((CSG_Data_Object const *)arg1)->is_Modified();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Update",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Update" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (bool)(arg1)->Update();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_MetaData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_MetaData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_MetaData" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_MetaData *) &((CSG_Data_Object const *)arg1)->Get_MetaData();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_MetaData_DB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_MetaData_DB",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_MetaData_DB" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_MetaData *) &(arg1)->Get_MetaData_DB();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_History(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_History",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_History" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_MetaData *) &(arg1)->Get_History();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_Projection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Projection *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_Projection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_Projection" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_Projection *) &(arg1)->Get_Projection();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Projection, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_asTable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_asTable",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_asTable" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_Table *)(arg1)->asTable();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_asShapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_asShapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_asShapes" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_Shapes *)(arg1)->asShapes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_asTIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_asTIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_asTIN" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_TIN *)(arg1)->asTIN();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_asPointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_asPointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_asPointCloud" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_PointCloud *)(arg1)->asPointCloud();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_asGrid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_asGrid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_asGrid" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (CSG_Grid *)(arg1)->asGrid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_NoData_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Data_Object_Set_NoData_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Set_NoData_Value" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Data_Object_Set_NoData_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_NoData_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Set_NoData_Value_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Data_Object_Set_NoData_Value_Range",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Set_NoData_Value_Range" "', argument " "1"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Data_Object_Set_NoData_Value_Range" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Data_Object_Set_NoData_Value_Range" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_NoData_Value_Range(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_NoData_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_NoData_Value",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_NoData_Value" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (double)((CSG_Data_Object const *)arg1)->Get_NoData_Value();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_Get_NoData_hiValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Data_Object_Get_NoData_hiValue",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_Get_NoData_hiValue" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  result = (double)((CSG_Data_Object const *)arg1)->Get_NoData_hiValue();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Data_Object_is_NoData_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Data_Object *arg1 = (CSG_Data_Object *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Data_Object_is_NoData_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Data_Object_is_NoData_Value" "', argument " "1"" of type '" "CSG_Data_Object const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Data_Object_is_NoData_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)((CSG_Data_Object const *)arg1)->is_NoData_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Data_Object_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Data_Object, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value" "', argument " "1"" of type '" "CSG_Table_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value *,int)\n"
+-    "    Set_Value(CSG_Table_Value *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_asBinary" "', argument " "1"" of type '" "CSG_Table_Value const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  result = ((CSG_Table_Value const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_asString" "', argument " "1"" of type '" "CSG_Table_Value const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_asString" "', argument " "1"" of type '" "CSG_Table_Value const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value const *,int)\n"
+-    "    asString(CSG_Table_Value const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_asInt" "', argument " "1"" of type '" "CSG_Table_Value const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  result = (int)((CSG_Table_Value const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value *arg1 = (CSG_Table_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_asDouble" "', argument " "1"" of type '" "CSG_Table_Value const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value * >(argp1);
+-  result = (double)((CSG_Table_Value const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table_Value_Binary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table_Value_Binary")) SWIG_fail;
+-  result = (CSG_Table_Value_Binary *)new CSG_Table_Value_Binary();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value_Binary, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value_Binary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value_Binary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value_Binary" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_Binary_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Binary_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_Binary_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Binary_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Binary_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Binary_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Binary_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Binary_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Binary_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Binary_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value_Binary *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value_Binary *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value_Binary *,int)\n"
+-    "    Set_Value(CSG_Table_Value_Binary *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Set_NoData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_Set_NoData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Set_NoData" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (bool)(arg1)->Set_NoData();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_is_NoData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_is_NoData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_is_NoData" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (bool)((CSG_Table_Value_Binary const *)arg1)->is_NoData();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_asBinary" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = ((CSG_Table_Value_Binary const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Binary_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_asString" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Binary_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value_Binary const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_asString" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value_Binary const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_Binary_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Binary, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Binary_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Binary_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value_Binary const *,int)\n"
+-    "    asString(CSG_Table_Value_Binary const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_asInt" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (int)((CSG_Table_Value_Binary const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_asDouble" "', argument " "1"" of type '" "CSG_Table_Value_Binary const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (double)((CSG_Table_Value_Binary const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Binary_Get_Binary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Binary *arg1 = (CSG_Table_Value_Binary *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Binary_Get_Binary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Binary, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Binary_Get_Binary" "', argument " "1"" of type '" "CSG_Table_Value_Binary *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Binary * >(argp1);
+-  result = (CSG_Bytes *) &(arg1)->Get_Binary();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Bytes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_Binary_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value_Binary, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table_Value_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table_Value_String")) SWIG_fail;
+-  result = (CSG_Table_Value_String *)new CSG_Table_Value_String();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value_String, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value_String" "', argument " "1"" of type '" "CSG_Table_Value_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_String_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_String_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_String_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_String_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_String_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_String_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_String_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_String_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_String_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_String_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value_String *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value_String *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value_String *,int)\n"
+-    "    Set_Value(CSG_Table_Value_String *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_String_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_asBinary" "', argument " "1"" of type '" "CSG_Table_Value_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  result = ((CSG_Table_Value_String const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_String_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_asString" "', argument " "1"" of type '" "CSG_Table_Value_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_String_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value_String const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_String_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_asString" "', argument " "1"" of type '" "CSG_Table_Value_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value_String const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_String_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_String_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_String_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value_String const *,int)\n"
+-    "    asString(CSG_Table_Value_String const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_String_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_asInt" "', argument " "1"" of type '" "CSG_Table_Value_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  result = (int)((CSG_Table_Value_String const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_String_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_String *arg1 = (CSG_Table_Value_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_String_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_String_asDouble" "', argument " "1"" of type '" "CSG_Table_Value_String const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_String * >(argp1);
+-  result = (double)((CSG_Table_Value_String const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_String_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value_String, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table_Value_Date(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table_Value_Date")) SWIG_fail;
+-  result = (CSG_Table_Value_Date *)new CSG_Table_Value_Date();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value_Date, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value_Date(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value_Date",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value_Date" "', argument " "1"" of type '" "CSG_Table_Value_Date *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_Date_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Date *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Date_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Date *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_Date_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Date *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Date_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Date *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Date_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Date_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Date_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Date_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Date_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Date_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value_Date *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value_Date *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value_Date *,int)\n"
+-    "    Set_Value(CSG_Table_Value_Date *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Date_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_asBinary" "', argument " "1"" of type '" "CSG_Table_Value_Date const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  result = ((CSG_Table_Value_Date const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Date_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_asString" "', argument " "1"" of type '" "CSG_Table_Value_Date const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Date_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value_Date const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Date_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_asString" "', argument " "1"" of type '" "CSG_Table_Value_Date const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value_Date const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_Date_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Date, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Date_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Date_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value_Date const *,int)\n"
+-    "    asString(CSG_Table_Value_Date const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Date_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_asInt" "', argument " "1"" of type '" "CSG_Table_Value_Date const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  result = (int)((CSG_Table_Value_Date const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Date_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Date *arg1 = (CSG_Table_Value_Date *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Date_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Date, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Date_asDouble" "', argument " "1"" of type '" "CSG_Table_Value_Date const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Date * >(argp1);
+-  result = (double)((CSG_Table_Value_Date const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_Date_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value_Date, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table_Value_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table_Value_Int")) SWIG_fail;
+-  result = (CSG_Table_Value_Int *)new CSG_Table_Value_Int();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value_Int, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value_Int" "', argument " "1"" of type '" "CSG_Table_Value_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Int_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Int_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Int_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Int_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Int_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Int_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value_Int *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value_Int *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value_Int *,int)\n"
+-    "    Set_Value(CSG_Table_Value_Int *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Int_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_asString" "', argument " "1"" of type '" "CSG_Table_Value_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Int_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value_Int const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Int_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_asString" "', argument " "1"" of type '" "CSG_Table_Value_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value_Int const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_Int_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Int_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Int_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value_Int const *,int)\n"
+-    "    asString(CSG_Table_Value_Int const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Int_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_asBinary" "', argument " "1"" of type '" "CSG_Table_Value_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  result = ((CSG_Table_Value_Int const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Int_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_asInt" "', argument " "1"" of type '" "CSG_Table_Value_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  result = (int)((CSG_Table_Value_Int const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Int_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Int *arg1 = (CSG_Table_Value_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Int_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Int_asDouble" "', argument " "1"" of type '" "CSG_Table_Value_Int const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Int * >(argp1);
+-  result = (double)((CSG_Table_Value_Int const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_Int_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value_Int, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table_Value_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table_Value_Double")) SWIG_fail;
+-  result = (CSG_Table_Value_Double *)new CSG_Table_Value_Double();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value_Double, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table_Value_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table_Value_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table_Value_Double" "', argument " "1"" of type '" "CSG_Table_Value_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Table_Value_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "2"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)(arg1)->Set_Value((CSG_Bytes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Value_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "1"" of type '" "CSG_Table_Value_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Double_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Double_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Double_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Double_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Double_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Double_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Value_Double *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Value_Double *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Value_Double *,int)\n"
+-    "    Set_Value(CSG_Table_Value_Double *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Value_Double_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_asString" "', argument " "1"" of type '" "CSG_Table_Value_Double const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Value_Double_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Value_Double const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Double_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_asString" "', argument " "1"" of type '" "CSG_Table_Value_Double const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  result = (wchar_t *)((CSG_Table_Value_Double const *)arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asString(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Value_Double_asString__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Value_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Value_Double_asString__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Value_Double_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Value_Double const *,int)\n"
+-    "    asString(CSG_Table_Value_Double const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Bytes result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Double_asBinary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_asBinary" "', argument " "1"" of type '" "CSG_Table_Value_Double const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  result = ((CSG_Table_Value_Double const *)arg1)->asBinary();
+-  resultobj = SWIG_NewPointerObj((new CSG_Bytes(static_cast< const CSG_Bytes& >(result))), SWIGTYPE_p_CSG_Bytes, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Double_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_asInt" "', argument " "1"" of type '" "CSG_Table_Value_Double const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  result = (int)((CSG_Table_Value_Double const *)arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Value_Double_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Value_Double *arg1 = (CSG_Table_Value_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Value_Double_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Value_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Value_Double_asDouble" "', argument " "1"" of type '" "CSG_Table_Value_Double const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Value_Double * >(argp1);
+-  result = (double)((CSG_Table_Value_Double const *)arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Value_Double_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Value_Double, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Get_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Record_Get_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Get_Table" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  result = (CSG_Table *)(arg1)->Get_Table();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Get_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Record_Get_Index",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Get_Index" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  result = (int)((CSG_Table_Record const *)arg1)->Get_Index();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  CSG_Bytes *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Bytes * >(argp3);
+-  result = (bool)(arg1)->Set_Value(arg2,(CSG_Bytes const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Bytes *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_Bytes,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "CSG_Bytes const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Bytes * >(argp3);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2,(CSG_Bytes const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Set_Value(arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_Bytes, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Set_Value__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table_Record *,int,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Record *,wchar_t const *,CSG_Bytes const &)\n"
+-    "    Set_Value(CSG_Table_Record *,int,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Record *,wchar_t const *,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table_Record *,int,double)\n"
+-    "    Set_Value(CSG_Table_Record *,wchar_t const *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Add_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Add_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Add_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Add_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Add_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Add_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Add_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Add_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Add_Value((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Add_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Add_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Add_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_Add_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Value(CSG_Table_Record *,int,double)\n"
+-    "    Add_Value(CSG_Table_Record *,wchar_t const *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Mul_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Mul_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Mul_Value(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Mul_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_Mul_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_Mul_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Mul_Value((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Mul_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Mul_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_Mul_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_Mul_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Mul_Value(CSG_Table_Record *,int,double)\n"
+-    "    Mul_Value(CSG_Table_Record *,wchar_t const *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Record_Set_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_NoData" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Set_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_NoData(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_Set_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Set_NoData" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Set_NoData" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_NoData((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Set_NoData(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_Set_NoData__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_Set_NoData__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_Set_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_NoData(CSG_Table_Record *,int)\n"
+-    "    Set_NoData(CSG_Table_Record *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_is_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Record_is_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_is_NoData" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_is_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)((CSG_Table_Record const *)arg1)->is_NoData(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_is_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_is_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_is_NoData" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_is_NoData" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)((CSG_Table_Record const *)arg1)->is_NoData((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_is_NoData(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_is_NoData__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_is_NoData__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_is_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_NoData(CSG_Table_Record const *,int)\n"
+-    "    is_NoData(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asString__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_asString",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asString" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_asString" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (wchar_t *)((CSG_Table_Record const *)arg1)->asString(arg2,arg3);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asString__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asString" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asString" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table_Record const *)arg1)->asString(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asString__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Record_asString",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asString" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asString" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Record_asString" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (wchar_t *)((CSG_Table_Record const *)arg1)->asString((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asString__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asString",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asString" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asString" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (wchar_t *)((CSG_Table_Record const *)arg1)->asString((wchar_t const *)arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asString(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asString__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asString__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_asString__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Record_asString__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asString'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asString(CSG_Table_Record const *,int,int)\n"
+-    "    asString(CSG_Table_Record const *,int)\n"
+-    "    asString(CSG_Table_Record const *,wchar_t const *,int)\n"
+-    "    asString(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asChar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asChar",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asChar" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asChar" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_Table_Record const *)arg1)->asChar(arg2);
+-  resultobj = SWIG_From_wchar_t(static_cast< wchar_t >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asChar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asChar",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asChar" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asChar" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = ((CSG_Table_Record const *)arg1)->asChar((wchar_t const *)arg2);
+-  resultobj = SWIG_From_wchar_t(static_cast< wchar_t >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asChar(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asChar__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asChar__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asChar'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asChar(CSG_Table_Record const *,int)\n"
+-    "    asChar(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asShort__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asShort",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asShort" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (short)((CSG_Table_Record const *)arg1)->asShort(arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asShort__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asShort",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asShort" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asShort" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (short)((CSG_Table_Record const *)arg1)->asShort((wchar_t const *)arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asShort(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asShort__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asShort__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asShort'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asShort(CSG_Table_Record const *,int)\n"
+-    "    asShort(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asInt" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Table_Record const *)arg1)->asInt(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asInt" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asInt" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (int)((CSG_Table_Record const *)arg1)->asInt((wchar_t const *)arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asInt(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asInt__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asInt__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asInt'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asInt(CSG_Table_Record const *,int)\n"
+-    "    asInt(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asFloat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asFloat",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asFloat" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (float)((CSG_Table_Record const *)arg1)->asFloat(arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asFloat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asFloat",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asFloat" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asFloat" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (float)((CSG_Table_Record const *)arg1)->asFloat((wchar_t const *)arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asFloat(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asFloat__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asFloat__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asFloat'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asFloat(CSG_Table_Record const *,int)\n"
+-    "    asFloat(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asDouble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asDouble" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table_Record const *)arg1)->asDouble(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asDouble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_asDouble" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_asDouble" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (double)((CSG_Table_Record const *)arg1)->asDouble((wchar_t const *)arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_asDouble(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asDouble__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Record_asDouble__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Record_asDouble'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDouble(CSG_Table_Record const *,int)\n"
+-    "    asDouble(CSG_Table_Record const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Get_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Value *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Record_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Get_Value" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Record_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Value *)(arg1)->Get_Value(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Value, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  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:CSG_Table_Record_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_Assign" "', argument " "1"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Record_Assign" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_is_Selected(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Record_is_Selected",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_is_Selected" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  result = (bool)((CSG_Table_Record const *)arg1)->is_Selected();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Record_is_Modified(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table_Record *arg1 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Record_is_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Record_is_Modified" "', argument " "1"" of type '" "CSG_Table_Record const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table_Record * >(argp1);
+-  result = (bool)((CSG_Table_Record const *)arg1)->is_Modified();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_Record_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table_Record, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Table")) SWIG_fail;
+-  result = (CSG_Table *)new CSG_Table();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Table,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_Table const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_Table const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table *)new CSG_Table((CSG_Table const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table *arg2 = 0 ;
+-  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:CSG_Table_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Create" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Table,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_Table const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_Table const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Table const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Table_File_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Table",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Table" "', argument " "2"" of type '" "TSG_Table_File_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Table_File_Type >(val2);
+-  result = (CSG_Table *)new CSG_Table((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Table *)new CSG_Table((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Table_File_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Create" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Create" "', argument " "3"" of type '" "TSG_Table_File_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_File_Type >(val3);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Table_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Create" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Table_File_Type arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Table",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Table" "', argument " "2"" of type '" "TSG_Table_File_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Table_File_Type >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Table" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (CSG_Table *)new CSG_Table((CSG_String const &)*arg1,arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Table_File_Type arg3 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Create" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Create" "', argument " "3"" of type '" "TSG_Table_File_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_File_Type >(val3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Table_Create" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Table" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table *)new CSG_Table(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Table(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 == 0) {
+-    return _wrap_new_CSG_Table__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Table__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Table__SWIG_3(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Table__SWIG_5(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Table__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_new_CSG_Table__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Table'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Table()\n"
+-    "    CSG_Table(CSG_Table const &)\n"
+-    "    CSG_Table(CSG_String const &,TSG_Table_File_Type)\n"
+-    "    CSG_Table(CSG_String const &)\n"
+-    "    CSG_Table(CSG_String const &,TSG_Table_File_Type,wchar_t const *)\n"
+-    "    CSG_Table(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  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:CSG_Table_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Create" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Create" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Create__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Create__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Table_Create__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Table *,CSG_Table const &)\n"
+-    "    Create(CSG_Table *,CSG_String const &,TSG_Table_File_Type)\n"
+-    "    Create(CSG_Table *,CSG_String const &)\n"
+-    "    Create(CSG_Table *,CSG_String const &,TSG_Table_File_Type,wchar_t const *)\n"
+-    "    Create(CSG_Table *,CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Table" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Destroy" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_ObjectType" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_Table const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_Table_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Assign" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Assign_Values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  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:CSG_Table_Assign_Values",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Assign_Values" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Assign_Values" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)(arg1)->Assign_Values(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Save" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Table_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Save" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Save__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Save",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Save" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Table_Save" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Table_Save__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_Table *,CSG_String const &,int)\n"
+-    "    Save(CSG_Table *,CSG_String const &)\n"
+-    "    Save(CSG_Table *,CSG_String const &,int,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Serialize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Serialize",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Serialize" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Serialize" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Serialize" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Serialize(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Owner(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Owner",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Owner" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Data_Object *)(arg1)->Get_Owner();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Private(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_is_Private",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Private" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)((CSG_Table const *)arg1)->is_Private();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Valid" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)((CSG_Table const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Compatible__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_is_Compatible",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Compatible" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_is_Compatible" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_is_Compatible" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)((CSG_Table const *)arg1)->is_Compatible(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Compatible__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table *arg2 = (CSG_Table *) 0 ;
+-  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:CSG_Table_is_Compatible",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Compatible" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_is_Compatible" "', argument " "2"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table * >(argp2);
+-  result = (bool)((CSG_Table const *)arg1)->is_Compatible(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Compatible(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_is_Compatible__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_is_Compatible__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_is_Compatible'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Compatible(CSG_Table const *,CSG_Table *,bool)\n"
+-    "    is_Compatible(CSG_Table const *,CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Field__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Add_Field",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Field" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Add_Field" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Add_Field" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Add_Field((wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Field__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Add_Field",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Field" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Add_Field" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Add_Field((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Field__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Add_Field",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Field" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Add_Field" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Add_Field" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Add_Field((char const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Field__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Add_Field",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Field" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Add_Field" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Add_Field((char const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Field(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Add_Field__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Add_Field__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Table_Add_Field__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Table_Add_Field__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Add_Field'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Field(CSG_Table *,wchar_t const *,TSG_Data_Type,int)\n"
+-    "    Add_Field(CSG_Table *,wchar_t const *,TSG_Data_Type)\n"
+-    "    Add_Field(CSG_Table *,char const *,TSG_Data_Type,int)\n"
+-    "    Add_Field(CSG_Table *,char const *,TSG_Data_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Del_Field(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Del_Field",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Del_Field" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Del_Field" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Field(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Field_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Field_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Field_Count" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)((CSG_Table const *)arg1)->Get_Field_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Field_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Field_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Field_Name" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Field_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_Table const *)arg1)->Get_Field_Name(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Field_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Data_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Field_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Field_Type" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Field_Type" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Data_Type)((CSG_Table const *)arg1)->Get_Field_Type(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Field_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Field_Length",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Field_Length" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Field_Length" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Table const *)arg1)->Get_Field_Length(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Field_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Set_Field_Name",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Field_Name" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Field_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Set_Field_Name" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Set_Field_Name(arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Minimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Minimum",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Minimum" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Minimum" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_Minimum(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Maximum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Maximum",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Maximum" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Maximum" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_Maximum(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Range",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Range" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Range" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_Range(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Mean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Mean",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Mean" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Mean" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_Mean(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_StdDev(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_StdDev",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_StdDev" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_StdDev" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_StdDev(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Variance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Variance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Variance" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Variance" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Table const *)arg1)->Get_Variance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Record__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Add_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Record" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Add_Record" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (CSG_Table_Record *)(arg1)->Add_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Record__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Add_Record",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Add_Record" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table_Record *)(arg1)->Add_Record();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Add_Record(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Add_Record__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Add_Record__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Add_Record'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Record(CSG_Table *,CSG_Table_Record *)\n"
+-    "    Add_Record(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Ins_Record__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  CSG_Table_Record *arg3 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Ins_Record",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Ins_Record" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Ins_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Table_Ins_Record" "', argument " "3"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table_Record * >(argp3);
+-  result = (CSG_Table_Record *)(arg1)->Ins_Record(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Ins_Record__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Ins_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Ins_Record" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Ins_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)(arg1)->Ins_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Ins_Record(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Ins_Record__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Table_Ins_Record__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Ins_Record'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Record(CSG_Table *,int,CSG_Table_Record *)\n"
+-    "    Ins_Record(CSG_Table *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Del_Record(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Del_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Del_Record" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Del_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Record(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Del_Records(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Del_Records",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Del_Records" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)(arg1)->Del_Records();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Count" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)((CSG_Table const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Record_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Record_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Record_Count" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)((CSG_Table const *)arg1)->Get_Record_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Record(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Record" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)((CSG_Table const *)arg1)->Get_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Index",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Index" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Table const *)arg1)->Get_Index(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Record_byIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Record_byIndex",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Record_byIndex" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Record_byIndex" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)((CSG_Table const *)arg1)->Get_Record_byIndex(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Value" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Table_Set_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Value" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Set_Value" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Table_Set_Value__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Table_Set_Value__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Table *,int,int,wchar_t const *)\n"
+-    "    Set_Value(CSG_Table *,int,int,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  CSG_String *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Value" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Table_Get_Value" "', argument " "4"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Get_Value" "', argument " "4"" of type '" "CSG_String &""'"); 
+-  }
+-  arg4 = reinterpret_cast< CSG_String * >(argp4);
+-  result = (bool)((CSG_Table const *)arg1)->Get_Value(arg2,arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Value" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Table_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Table_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)((CSG_Table const *)arg1)->Get_Value(arg2,arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_CSG_String, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Table_Get_Value__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Table_Get_Value__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Get_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Value(CSG_Table const *,int,int,CSG_String &)\n"
+-    "    Get_Value(CSG_Table const *,int,int,double &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Modified__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Set_Modified",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Modified" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Modified" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Modified(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Modified__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Set_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Modified" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  (arg1)->Set_Modified();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Modified(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Set_Modified__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Set_Modified__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Set_Modified'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Modified(CSG_Table *,bool)\n"
+-    "    Set_Modified(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Selection_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Selection_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Selection_Count" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)((CSG_Table const *)arg1)->Get_Selection_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Selection__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Selection",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Selection" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Selection" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)((CSG_Table const *)arg1)->Get_Selection(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Selection__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Get_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Selection" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table_Record *)((CSG_Table const *)arg1)->Get_Selection();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Selection(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Get_Selection__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Get_Selection__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Get_Selection'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Selection(CSG_Table const *,int)\n"
+-    "    Get_Selection(CSG_Table const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Selected(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_is_Selected",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Selected" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_is_Selected" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)((CSG_Table const *)arg1)->is_Selected(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Select" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Select" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Select" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Select" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Select" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Select" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  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:CSG_Table_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Select" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Table_Select" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Select",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Select" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)(arg1)->Select();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Select(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Table_Select__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Table_Select__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Table_Select__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Select__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Select__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Select'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select(CSG_Table *,int,bool)\n"
+-    "    Select(CSG_Table *,int)\n"
+-    "    Select(CSG_Table *,CSG_Table_Record *,bool)\n"
+-    "    Select(CSG_Table *,CSG_Table_Record *)\n"
+-    "    Select(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Del_Selection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Del_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Del_Selection" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)(arg1)->Del_Selection();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Inv_Selection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Inv_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Inv_Selection" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (int)(arg1)->Inv_Selection();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  TSG_Table_Index_Order arg3 ;
+-  int arg4 ;
+-  TSG_Table_Index_Order arg5 ;
+-  int arg6 ;
+-  TSG_Table_Index_Order arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Table_Set_Index",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Index" "', argument " "3"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_Index_Order >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Set_Index" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Table_Set_Index" "', argument " "5"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg5 = static_cast< TSG_Table_Index_Order >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Table_Set_Index" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Table_Set_Index" "', argument " "7"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg7 = static_cast< TSG_Table_Index_Order >(val7);
+-  result = (bool)(arg1)->Set_Index(arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  TSG_Table_Index_Order arg3 ;
+-  int arg4 ;
+-  TSG_Table_Index_Order arg5 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Table_Set_Index",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Index" "', argument " "3"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_Index_Order >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Set_Index" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Table_Set_Index" "', argument " "5"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg5 = static_cast< TSG_Table_Index_Order >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Table_Set_Index" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (bool)(arg1)->Set_Index(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  TSG_Table_Index_Order arg3 ;
+-  int arg4 ;
+-  TSG_Table_Index_Order arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Table_Set_Index",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Index" "', argument " "3"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_Index_Order >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Set_Index" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Table_Set_Index" "', argument " "5"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg5 = static_cast< TSG_Table_Index_Order >(val5);
+-  result = (bool)(arg1)->Set_Index(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  TSG_Table_Index_Order arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Table_Set_Index",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Index" "', argument " "3"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_Index_Order >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Table_Set_Index" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Set_Index(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  TSG_Table_Index_Order arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Table_Set_Index",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Set_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Set_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Table_Set_Index" "', argument " "3"" of type '" "TSG_Table_Index_Order""'");
+-  } 
+-  arg3 = static_cast< TSG_Table_Index_Order >(val3);
+-  result = (bool)(arg1)->Set_Index(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Set_Index(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Table_Set_Index__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Table_Set_Index__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Table_Set_Index__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Table_Set_Index__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Table_Set_Index__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Table_Set_Index'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Index(CSG_Table *,int,TSG_Table_Index_Order,int,TSG_Table_Index_Order,int,TSG_Table_Index_Order)\n"
+-    "    Set_Index(CSG_Table *,int,TSG_Table_Index_Order,int,TSG_Table_Index_Order,int)\n"
+-    "    Set_Index(CSG_Table *,int,TSG_Table_Index_Order,int,TSG_Table_Index_Order)\n"
+-    "    Set_Index(CSG_Table *,int,TSG_Table_Index_Order,int)\n"
+-    "    Set_Index(CSG_Table *,int,TSG_Table_Index_Order)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Del_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_Del_Index",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Del_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)(arg1)->Del_Index();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Toggle_Index(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  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:CSG_Table_Toggle_Index",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Toggle_Index" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Toggle_Index" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Toggle_Index(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_is_Indexed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Table_is_Indexed",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_is_Indexed" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (bool)((CSG_Table const *)arg1)->is_Indexed();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Index_Field(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Index_Field",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Index_Field" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Index_Field" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Table const *)arg1)->Get_Index_Field(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Table_Get_Index_Order(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Table_Index_Order result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Table_Get_Index_Order",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Table_Get_Index_Order" "', argument " "1"" of type '" "CSG_Table const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Table_Get_Index_Order" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Table_Index_Order)((CSG_Table const *)arg1)->Get_Index_Order(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Table_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Table, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Table__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Create_Table")) SWIG_fail;
+-  result = (CSG_Table *)SG_Create_Table();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Table__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Table,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Table" "', argument " "1"" of type '" "CSG_Table const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Table" "', argument " "1"" of type '" "CSG_Table const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table *)SG_Create_Table((CSG_Table const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Table__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Table" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Table *)SG_Create_Table((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Table__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Table *arg1 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Table" "', argument " "1"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Table * >(argp1);
+-  result = (CSG_Table *)SG_Create_Table(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Table(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Create_Table__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Table__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Table__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Table__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Create_Table'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Create_Table()\n"
+-    "    SG_Create_Table(CSG_Table const &)\n"
+-    "    SG_Create_Table(CSG_String const &)\n"
+-    "    SG_Create_Table(CSG_Table *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid_Pyramid")) SWIG_fail;
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  TSG_Grid_Pyramid_Generalisation arg3 ;
+-  TSG_Grid_Pyramid_Grow_Type arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Grid_Pyramid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_Pyramid" "', argument " "3"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Pyramid_Generalisation >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_Pyramid" "', argument " "4"" of type '" "TSG_Grid_Pyramid_Grow_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Pyramid_Grow_Type >(val4);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  TSG_Grid_Pyramid_Generalisation arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Grid_Pyramid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_Pyramid" "', argument " "3"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Pyramid_Generalisation >(val3);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Grid_Pyramid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid_Pyramid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  TSG_Grid_Pyramid_Generalisation arg4 ;
+-  TSG_Grid_Pyramid_Grow_Type arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "4"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Pyramid_Generalisation >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "5"" of type '" "TSG_Grid_Pyramid_Grow_Type""'");
+-  } 
+-  arg5 = static_cast< TSG_Grid_Pyramid_Grow_Type >(val5);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  TSG_Grid_Pyramid_Generalisation arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "4"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Pyramid_Generalisation >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  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:CSG_Grid_Pyramid_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  TSG_Grid_Pyramid_Generalisation arg5 ;
+-  TSG_Grid_Pyramid_Grow_Type arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:new_CSG_Grid_Pyramid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_Pyramid" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_Pyramid" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid_Pyramid" "', argument " "5"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg5 = static_cast< TSG_Grid_Pyramid_Generalisation >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_CSG_Grid_Pyramid" "', argument " "6"" of type '" "TSG_Grid_Pyramid_Grow_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Grid_Pyramid_Grow_Type >(val6);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  TSG_Grid_Pyramid_Generalisation arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Grid_Pyramid",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_Pyramid" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_Pyramid" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid_Pyramid" "', argument " "5"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg5 = static_cast< TSG_Grid_Pyramid_Generalisation >(val5);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Grid_Pyramid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Grid_Pyramid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_Pyramid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_Pyramid" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_Pyramid" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (CSG_Grid_Pyramid *)new CSG_Grid_Pyramid(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Pyramid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Grid_Pyramid__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid_Pyramid__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Grid_Pyramid__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_new_CSG_Grid_Pyramid__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Grid_Pyramid__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Grid_Pyramid__SWIG_7(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Grid_Pyramid__SWIG_6(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_new_CSG_Grid_Pyramid__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Grid_Pyramid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Grid_Pyramid()\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double,TSG_Grid_Pyramid_Generalisation,TSG_Grid_Pyramid_Grow_Type)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double,TSG_Grid_Pyramid_Generalisation)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double,double,int,TSG_Grid_Pyramid_Generalisation,TSG_Grid_Pyramid_Grow_Type)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double,double,int,TSG_Grid_Pyramid_Generalisation)\n"
+-    "    CSG_Grid_Pyramid(CSG_Grid *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  TSG_Grid_Pyramid_Generalisation arg6 ;
+-  TSG_Grid_Pyramid_Grow_Type arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "6"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg6 = static_cast< TSG_Grid_Pyramid_Generalisation >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "7"" of type '" "TSG_Grid_Pyramid_Grow_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Grid_Pyramid_Grow_Type >(val7);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  TSG_Grid_Pyramid_Generalisation arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "6"" of type '" "TSG_Grid_Pyramid_Generalisation""'");
+-  } 
+-  arg6 = static_cast< TSG_Grid_Pyramid_Generalisation >(val6);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Pyramid_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Pyramid_Create" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); 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_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Pyramid_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Pyramid_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Pyramid_Create__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Pyramid_Create__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Pyramid_Create__SWIG_6(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Pyramid_Create__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Pyramid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Pyramid_Create__SWIG_4(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Pyramid_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double,TSG_Grid_Pyramid_Generalisation,TSG_Grid_Pyramid_Grow_Type)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double,TSG_Grid_Pyramid_Generalisation)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double,double,int,TSG_Grid_Pyramid_Generalisation,TSG_Grid_Pyramid_Grow_Type)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double,double,int,TSG_Grid_Pyramid_Generalisation)\n"
+-    "    Create(CSG_Grid_Pyramid *,CSG_Grid *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid_Pyramid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid_Pyramid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid_Pyramid" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Pyramid_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Destroy" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Pyramid_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Get_Count" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Pyramid_Get_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Pyramid *arg1 = (CSG_Grid_Pyramid *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Pyramid_Get_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Pyramid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Pyramid_Get_Grid" "', argument " "1"" of type '" "CSG_Grid_Pyramid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Pyramid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Pyramid_Get_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Grid *)(arg1)->Get_Grid(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_Pyramid_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid_Pyramid, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN int Swig_var_gSG_Grid_File_Key_Names_set(PyObject *) {
+-  SWIG_Error(SWIG_AttributeError,"Variable gSG_Grid_File_Key_Names is read-only.");
+-  return 1;
+-}
+-
+-
+-SWIGINTERN PyObject *Swig_var_gSG_Grid_File_Key_Names_get(void) {
+-  PyObject *pyobj = 0;
+-  
+-  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(gSG_Grid_File_Key_Names), SWIGTYPE_p_a_32__wchar_t,  0 );
+-  return pyobj;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid_System")) SWIG_fail;
+-  result = (CSG_Grid_System *)new CSG_Grid_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (CSG_Grid_System *)new CSG_Grid_System((CSG_Grid_System const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  CSG_Rect *arg2 = 0 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Grid_System",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid_System" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Grid_System" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid_System" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (CSG_Grid_System *)new CSG_Grid_System(arg1,(CSG_Rect const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid_System" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_System" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_System" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_System" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid_System" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (CSG_Grid_System *)new CSG_Grid_System(arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid_System" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid_System" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid_System" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid_System" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid_System" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (CSG_Grid_System *)new CSG_Grid_System(arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_System(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Grid_System__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid_System__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Grid_System__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Grid_System__SWIG_4(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_double(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Grid_System__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Grid_System'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Grid_System()\n"
+-    "    CSG_Grid_System(CSG_Grid_System const &)\n"
+-    "    CSG_Grid_System(double,CSG_Rect const &)\n"
+-    "    CSG_Grid_System(double,double,double,double,double)\n"
+-    "    CSG_Grid_System(double,double,double,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_is_Valid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (bool)((CSG_Grid_System const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Name__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Name" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_Name" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (wchar_t *)(arg1)->Get_Name(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Name__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Name" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Name(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_Name__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_Name__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_Name'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Name(CSG_Grid_System *,bool)\n"
+-    "    Get_Name(CSG_Grid_System *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Cellsize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_Cellsize",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Cellsize" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_Cellsize();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Cellarea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_Cellarea",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Cellarea" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_Cellarea();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_NX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_NX",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_NX" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_NX();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_NY(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_NY",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_NY" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_NY();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_NCells(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_NCells",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_NCells" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (long)((CSG_Grid_System const *)arg1)->Get_NCells();
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Extent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_Extent",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Extent" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_Extent" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (CSG_Rect *) &((CSG_Grid_System const *)arg1)->Get_Extent(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Extent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Extent" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (CSG_Rect *) &((CSG_Grid_System const *)arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Extent(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_Extent__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_Extent__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_Extent'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Extent(CSG_Grid_System const *,bool)\n"
+-    "    Get_Extent(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_XMin",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XMin" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_XMin" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XMin(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_XMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XMin" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMin(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_XMin__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_XMin__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_XMin'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XMin(CSG_Grid_System const *,bool)\n"
+-    "    Get_XMin(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMax__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_XMax",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XMax" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_XMax" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XMax(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMax__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_XMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XMax" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XMax(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_XMax__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_XMax__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_XMax'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XMax(CSG_Grid_System const *,bool)\n"
+-    "    Get_XMax(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_XRange",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XRange" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_XRange" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XRange(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_XRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_XRange" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_XRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_XRange(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_XRange__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_XRange__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_XRange'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XRange(CSG_Grid_System const *,bool)\n"
+-    "    Get_XRange(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_YMin",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YMin" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_YMin" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YMin(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_YMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YMin" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMin(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_YMin__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_YMin__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_YMin'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YMin(CSG_Grid_System const *,bool)\n"
+-    "    Get_YMin(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMax__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_YMax",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YMax" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_YMax" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YMax(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMax__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_YMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YMax" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YMax(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_YMax__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_YMax__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_YMax'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YMax(CSG_Grid_System const *,bool)\n"
+-    "    Get_YMax(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_YRange",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YRange" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_YRange" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YRange(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_System_Get_YRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_YRange" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_YRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_YRange(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_System_Get_YRange__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_YRange__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_YRange'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YRange(CSG_Grid_System const *,bool)\n"
+-    "    Get_YRange(CSG_Grid_System const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System___eq__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Grid_System___eq__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System___eq__" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System___eq__" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System___eq__" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)((CSG_Grid_System const *)arg1)->operator ==((CSG_Grid_System const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Grid_System_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Assign" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System_Assign" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Assign" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)(arg1)->Assign((CSG_Grid_System const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  CSG_Rect *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Assign" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_System_Assign" "', argument " "3"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Assign" "', argument " "3"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Rect * >(argp3);
+-  result = (bool)(arg1)->Assign(arg2,(CSG_Rect const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Assign__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_System_Assign",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Assign" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_System_Assign" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_System_Assign" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_System_Assign" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (bool)(arg1)->Assign(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Assign__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_System_Assign",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Assign" "', argument " "1"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Assign" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_System_Assign" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_System_Assign" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_System_Assign" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (bool)(arg1)->Assign(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); 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_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_CSG_Rect, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_Assign__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_System_Assign__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_System_Assign__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Grid_System *,CSG_Grid_System const &)\n"
+-    "    Assign(CSG_Grid_System *,double,CSG_Rect const &)\n"
+-    "    Assign(CSG_Grid_System *,double,double,double,double,double)\n"
+-    "    Assign(CSG_Grid_System *,double,double,double,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_Equal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Grid_System_is_Equal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_is_Equal" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System_is_Equal" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_is_Equal" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)((CSG_Grid_System const *)arg1)->is_Equal((CSG_Grid_System const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_Equal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  TSG_Rect *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_is_Equal",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_is_Equal" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_is_Equal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_System_is_Equal" "', argument " "3"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_is_Equal" "', argument " "3"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Rect * >(argp3);
+-  result = (bool)((CSG_Grid_System const *)arg1)->is_Equal(arg2,(TSG_Rect const &)*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_Equal(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_is_Equal__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_SSG_Rect, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_is_Equal__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_is_Equal'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Equal(CSG_Grid_System const *,CSG_Grid_System const &)\n"
+-    "    is_Equal(CSG_Grid_System const *,double,TSG_Rect const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Fit_xto_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Fit_xto_Grid_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Fit_xto_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Fit_xto_Grid_System" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Fit_xto_Grid_System(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Fit_yto_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Fit_yto_Grid_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Fit_yto_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Fit_yto_Grid_System" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Fit_yto_Grid_System(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Fit_to_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Fit_to_Grid_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Fit_to_Grid_System" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System_Fit_to_Grid_System" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Fit_to_Grid_System" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = ((CSG_Grid_System const *)arg1)->Fit_to_Grid_System(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xGrid_to_World(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_xGrid_to_World",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xGrid_to_World" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xGrid_to_World" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_xGrid_to_World(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yGrid_to_World(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_yGrid_to_World",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yGrid_to_World" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yGrid_to_World" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_yGrid_to_World(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Grid_to_World(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_Grid_to_World",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Grid_to_World" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_Grid_to_World" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_Grid_to_World" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = ((CSG_Grid_System const *)arg1)->Get_Grid_to_World(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xWorld_to_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  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:CSG_Grid_System_Get_xWorld_to_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xWorld_to_Grid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xWorld_to_Grid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xWorld_to_Grid(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yWorld_to_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  double arg2 ;
+-  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:CSG_Grid_System_Get_yWorld_to_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yWorld_to_Grid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yWorld_to_Grid" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yWorld_to_Grid(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_World_to_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_System_Get_World_to_Grid",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)((CSG_Grid_System const *)arg1)->Get_World_to_Grid(*arg2,*arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_World_to_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  TSG_Point arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_System_Get_World_to_Grid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  {
+-    res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res4)) {
+-      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "4"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp4) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_World_to_Grid" "', argument " "4"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp4);
+-      arg4 = *temp;
+-      if (SWIG_IsNewObj(res4)) delete temp;
+-    }
+-  }
+-  result = (bool)((CSG_Grid_System const *)arg1)->Get_World_to_Grid(*arg2,*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_World_to_Grid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_ConvertPtr(argv[3], 0, SWIGTYPE_p_SSG_Point, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Grid_System_Get_World_to_Grid__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_System_Get_World_to_Grid__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_World_to_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_World_to_Grid(CSG_Grid_System const *,int &,int &,double,double)\n"
+-    "    Get_World_to_Grid(CSG_Grid_System const *,int &,int &,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Neighbor_Pos(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int *arg5 = 0 ;
+-  int *arg6 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_System_Get_Neighbor_Pos",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "5"" of type '" "int &""'"); 
+-  }
+-  arg5 = reinterpret_cast< int * >(argp5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_System_Get_Neighbor_Pos" "', argument " "6"" of type '" "int &""'"); 
+-  }
+-  arg6 = reinterpret_cast< int * >(argp6);
+-  result = (bool)((CSG_Grid_System const *)arg1)->Get_Neighbor_Pos(arg2,arg3,arg4,*arg5,*arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xTo__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_xTo",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xTo" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xTo" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_xTo" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xTo(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xTo__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_xTo",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xTo" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xTo" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xTo(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xTo(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_xTo__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_Get_xTo__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_xTo'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_xTo(CSG_Grid_System const *,int,int)\n"
+-    "    Get_xTo(CSG_Grid_System const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yTo__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_yTo",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yTo" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yTo" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_yTo" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yTo(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yTo__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_yTo",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yTo" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yTo" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yTo(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yTo(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_yTo__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_Get_yTo__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_yTo'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_yTo(CSG_Grid_System const *,int,int)\n"
+-    "    Get_yTo(CSG_Grid_System const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xFrom__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_xFrom",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xFrom" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xFrom" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_xFrom" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xFrom(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xFrom__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_xFrom",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xFrom" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xFrom" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xFrom(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xFrom(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_xFrom__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_Get_xFrom__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_xFrom'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_xFrom(CSG_Grid_System const *,int,int)\n"
+-    "    Get_xFrom(CSG_Grid_System const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yFrom__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_yFrom",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yFrom" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yFrom" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_yFrom" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yFrom(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yFrom__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_yFrom",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yFrom" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yFrom" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yFrom(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yFrom(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_System_Get_yFrom__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_Get_yFrom__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_Get_yFrom'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_yFrom(CSG_Grid_System const *,int,int)\n"
+-    "    Get_yFrom(CSG_Grid_System const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xToSave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_xToSave",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xToSave" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xToSave" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_xToSave" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xToSave(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yToSave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_yToSave",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yToSave" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yToSave" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_yToSave" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yToSave(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_xFromSave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_xFromSave",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_xFromSave" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_xFromSave" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_xFromSave" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_xFromSave(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_yFromSave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_Get_yFromSave",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_yFromSave" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_yFromSave" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_Get_yFromSave" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_System const *)arg1)->Get_yFromSave(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_InGrid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_System_is_InGrid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Grid_System const *)arg1)->is_InGrid(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_InGrid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_System_is_InGrid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_System_is_InGrid" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)((CSG_Grid_System const *)arg1)->is_InGrid(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_is_InGrid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_System_is_InGrid__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_System_is_InGrid__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_System_is_InGrid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_InGrid(CSG_Grid_System const *,int,int)\n"
+-    "    is_InGrid(CSG_Grid_System const *,int,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_Length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_Length",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_Length" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_Length" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_Length(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_System_Get_UnitLength(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = (CSG_Grid_System *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_System_Get_UnitLength",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_System_Get_UnitLength" "', argument " "1"" of type '" "CSG_Grid_System const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_System_Get_UnitLength" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_System const *)arg1)->Get_UnitLength(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_System_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid_System, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid")) SWIG_fail;
+-  result = (CSG_Grid *)new CSG_Grid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_Grid const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  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:CSG_Grid_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_String const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  TSG_Grid_Memory_Type arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Memory_Type >(val4);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Grid_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid *)new CSG_Grid(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  TSG_Grid_Memory_Type arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Memory_Type >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  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:CSG_Grid_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_Grid_System const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_Grid_System const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (CSG_Grid *)new CSG_Grid((CSG_Grid_System const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  TSG_Grid_Memory_Type arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Grid_Memory_Type >(val4);
+-  result = (bool)(arg1)->Create((CSG_Grid_System const &)*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Create((CSG_Grid_System const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Grid_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Grid_System const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  TSG_Grid_Memory_Type arg7 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_CSG_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_CSG_Grid" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "new_CSG_Grid" "', argument " "7"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Grid_Memory_Type >(val7);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:new_CSG_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_CSG_Grid" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Grid",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_14(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Grid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid__SWIG_15(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_CSG_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (CSG_Grid *)new CSG_Grid(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Grid__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid__SWIG_7(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Grid__SWIG_10(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Grid__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Grid__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_Grid__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Grid__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Grid__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Grid__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_new_CSG_Grid__SWIG_15(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Grid__SWIG_14(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Grid__SWIG_13(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_new_CSG_Grid__SWIG_12(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_new_CSG_Grid__SWIG_11(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Grid()\n"
+-    "    CSG_Grid(CSG_Grid const &)\n"
+-    "    CSG_Grid(CSG_String const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    CSG_Grid(CSG_String const &,TSG_Data_Type)\n"
+-    "    CSG_Grid(CSG_String const &)\n"
+-    "    CSG_Grid(CSG_Grid *,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    CSG_Grid(CSG_Grid *,TSG_Data_Type)\n"
+-    "    CSG_Grid(CSG_Grid *)\n"
+-    "    CSG_Grid(CSG_Grid_System const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    CSG_Grid(CSG_Grid_System const &,TSG_Data_Type)\n"
+-    "    CSG_Grid(CSG_Grid_System const &)\n"
+-    "    CSG_Grid(TSG_Data_Type,int,int,double,double,double,TSG_Grid_Memory_Type)\n"
+-    "    CSG_Grid(TSG_Data_Type,int,int,double,double,double)\n"
+-    "    CSG_Grid(TSG_Data_Type,int,int,double,double)\n"
+-    "    CSG_Grid(TSG_Data_Type,int,int,double)\n"
+-    "    CSG_Grid(TSG_Data_Type,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  double arg7 ;
+-  TSG_Grid_Memory_Type arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  int val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Create" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Create" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_int(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Grid_Create" "', argument " "8"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg8 = static_cast< TSG_Grid_Memory_Type >(val8);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Create" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Create" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Create" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Create" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create__SWIG_14(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Create" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Create" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Create" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Create(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[9];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 8); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Create__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Create__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Create__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Create__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Create__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Create__SWIG_7(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Create__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Create__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Create__SWIG_14(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Create__SWIG_13(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Create__SWIG_12(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Create__SWIG_11(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_int(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Grid_Create__SWIG_10(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Grid *,CSG_Grid const &)\n"
+-    "    Create(CSG_Grid *,CSG_String const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    Create(CSG_Grid *,CSG_String const &,TSG_Data_Type)\n"
+-    "    Create(CSG_Grid *,CSG_String const &)\n"
+-    "    Create(CSG_Grid *,CSG_Grid *,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    Create(CSG_Grid *,CSG_Grid *,TSG_Data_Type)\n"
+-    "    Create(CSG_Grid *,CSG_Grid *)\n"
+-    "    Create(CSG_Grid *,CSG_Grid_System const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    Create(CSG_Grid *,CSG_Grid_System const &,TSG_Data_Type)\n"
+-    "    Create(CSG_Grid *,CSG_Grid_System const &)\n"
+-    "    Create(CSG_Grid *,TSG_Data_Type,int,int,double,double,double,TSG_Grid_Memory_Type)\n"
+-    "    Create(CSG_Grid *,TSG_Data_Type,int,int,double,double,double)\n"
+-    "    Create(CSG_Grid *,TSG_Data_Type,int,int,double,double)\n"
+-    "    Create(CSG_Grid *,TSG_Data_Type,int,int,double)\n"
+-    "    Create(CSG_Grid *,TSG_Data_Type,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Destroy" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ObjectType" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_Grid const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Type" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (TSG_Data_Type)((CSG_Grid const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_nValueBytes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_nValueBytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_nValueBytes" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)((CSG_Grid const *)arg1)->Get_nValueBytes();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_nLineBytes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_nLineBytes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_nLineBytes" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)((CSG_Grid const *)arg1)->Get_nLineBytes();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Description",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Description" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Set_Description" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Description((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Description" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (wchar_t *)((CSG_Grid const *)arg1)->Get_Description();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Unit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Unit",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Unit" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Set_Unit" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Unit((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Unit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Unit",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Unit" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (wchar_t *)((CSG_Grid const *)arg1)->Get_Unit();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_System" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid_System *) &((CSG_Grid const *)arg1)->Get_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_NX(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_NX",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_NX" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)((CSG_Grid const *)arg1)->Get_NX();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_NY(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_NY",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_NY" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)((CSG_Grid const *)arg1)->Get_NY();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_NCells(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_NCells",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_NCells" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (long)((CSG_Grid const *)arg1)->Get_NCells();
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Cellsize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Cellsize",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Cellsize" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Cellsize();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Cellarea(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Cellarea",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Cellarea" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Cellarea();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Extent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_Extent",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Extent" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Extent" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (CSG_Rect *) &((CSG_Grid const *)arg1)->Get_Extent(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Extent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Extent" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Rect *) &((CSG_Grid const *)arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Extent(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_Extent__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_Extent__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_Extent'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Extent(CSG_Grid const *,bool)\n"
+-    "    Get_Extent(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_XMin",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XMin" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_XMin" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XMin(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_XMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XMin" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMin(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_XMin__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_XMin__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_XMin'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XMin(CSG_Grid const *,bool)\n"
+-    "    Get_XMin(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMax__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_XMax",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XMax" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_XMax" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XMax(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMax__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_XMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XMax" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XMax(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_XMax__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_XMax__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_XMax'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XMax(CSG_Grid const *,bool)\n"
+-    "    Get_XMax(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_XRange",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XRange" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_XRange" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XRange(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_XRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_XRange" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_XRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_XRange(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_XRange__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_XRange__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_XRange'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_XRange(CSG_Grid const *,bool)\n"
+-    "    Get_XRange(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_YMin",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YMin" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_YMin" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YMin(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_YMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YMin" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMin(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_YMin__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_YMin__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_YMin'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YMin(CSG_Grid const *,bool)\n"
+-    "    Get_YMin(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMax__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_YMax",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YMax" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_YMax" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YMax(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMax__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_YMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YMax" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YMax(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_YMax__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_YMax__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_YMax'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YMax(CSG_Grid const *,bool)\n"
+-    "    Get_YMax(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_YRange",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YRange" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_YRange" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YRange(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_YRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_YRange" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_YRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_YRange(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_YRange__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_YRange__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_YRange'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_YRange(CSG_Grid const *,bool)\n"
+-    "    Get_YRange(CSG_Grid const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_ZMin",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZMin" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_ZMin" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Get_ZMin(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZMin" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMin(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_ZMin__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_ZMin__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_ZMin'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_ZMin(CSG_Grid *,bool)\n"
+-    "    Get_ZMin(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMax__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_ZMax",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZMax" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_ZMax" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Get_ZMax(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMax__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZMax" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZMax(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_ZMax__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_ZMax__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_ZMax'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_ZMax(CSG_Grid *,bool)\n"
+-    "    Get_ZMax(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZRange__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_ZRange",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZRange" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_ZRange" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Get_ZRange(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZRange__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ZRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZRange" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_ZRange();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZRange(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_ZRange__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_ZRange__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_ZRange'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_ZRange(CSG_Grid *,bool)\n"
+-    "    Get_ZRange(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_ZFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_ZFactor",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_ZFactor" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_ZFactor" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_ZFactor(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ZFactor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ZFactor",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ZFactor" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)((CSG_Grid const *)arg1)->Get_ZFactor();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ArithMean__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_ArithMean",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ArithMean" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_ArithMean" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Get_ArithMean(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ArithMean__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_ArithMean",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_ArithMean" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_ArithMean();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_ArithMean(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_ArithMean__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_ArithMean__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_ArithMean'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_ArithMean(CSG_Grid *,bool)\n"
+-    "    Get_ArithMean(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_StdDev__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_StdDev",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_StdDev" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_StdDev" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (double)(arg1)->Get_StdDev(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_StdDev__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_StdDev",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_StdDev" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_StdDev();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_StdDev(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Get_StdDev__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_StdDev__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_StdDev'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_StdDev(CSG_Grid *,bool)\n"
+-    "    Get_StdDev(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Variance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Variance",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Variance" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_Variance();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_NoData_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_NoData_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_NoData_Count" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)(arg1)->Get_NoData_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Save" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Grid_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Save" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Save__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  int arg6 ;
+-  int arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Save",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Save" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Save" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Save" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Save" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Save" "', argument " "7"" of type '" "int""'");
+-  } 
+-  arg7 = static_cast< int >(val7);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Save__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_Grid *,CSG_String const &,int)\n"
+-    "    Save(CSG_Grid *,CSG_String const &)\n"
+-    "    Save(CSG_Grid *,CSG_String const &,int,int,int,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Valid" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)((CSG_Grid const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Intersecting__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Intersection result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_is_Intersecting",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Intersecting" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_is_Intersecting" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_is_Intersecting" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (TSG_Intersection)((CSG_Grid const *)arg1)->is_Intersecting((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Intersecting__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Rect *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Intersection result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_is_Intersecting",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Intersecting" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_is_Intersecting" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_is_Intersecting" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Rect * >(argp2);
+-  result = (TSG_Intersection)((CSG_Grid const *)arg1)->is_Intersecting((TSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Intersecting__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  TSG_Intersection result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_is_Intersecting",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Intersecting" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_Intersecting" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_Intersecting" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_is_Intersecting" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_is_Intersecting" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (TSG_Intersection)((CSG_Grid const *)arg1)->is_Intersecting(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Intersecting(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_Intersecting__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_Intersecting__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_is_Intersecting__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_is_Intersecting'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Intersecting(CSG_Grid const *,CSG_Rect const &)\n"
+-    "    is_Intersecting(CSG_Grid const *,TSG_Rect const &)\n"
+-    "    is_Intersecting(CSG_Grid const *,double,double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Compatible__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  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:CSG_Grid_is_Compatible",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Compatible" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_is_Compatible" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (bool)((CSG_Grid const *)arg1)->is_Compatible(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Compatible__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Grid_is_Compatible",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Compatible" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_is_Compatible" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_is_Compatible" "', argument " "2"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)((CSG_Grid const *)arg1)->is_Compatible((CSG_Grid_System const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Compatible__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_is_Compatible",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Compatible" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_Compatible" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_Compatible" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_is_Compatible" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_is_Compatible" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_is_Compatible" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (bool)((CSG_Grid const *)arg1)->is_Compatible(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Compatible(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_Compatible__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_Compatible__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_is_Compatible__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_is_Compatible'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Compatible(CSG_Grid const *,CSG_Grid *)\n"
+-    "    is_Compatible(CSG_Grid const *,CSG_Grid_System const &)\n"
+-    "    is_Compatible(CSG_Grid const *,int,int,double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_is_InGrid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_InGrid" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_InGrid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_InGrid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_is_InGrid" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)((CSG_Grid const *)arg1)->is_InGrid(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_is_InGrid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_InGrid" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_InGrid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_InGrid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Grid const *)arg1)->is_InGrid(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_is_InGrid__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_is_InGrid__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_is_InGrid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_InGrid(CSG_Grid const *,int,int,bool)\n"
+-    "    is_InGrid(CSG_Grid const *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid_byPos__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_is_InGrid_byPos",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)((CSG_Grid const *)arg1)->is_InGrid_byPos(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid_byPos__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_is_InGrid_byPos",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_is_InGrid_byPos" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)((CSG_Grid const *)arg1)->is_InGrid_byPos(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_InGrid_byPos(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_InGrid_byPos__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Grid_is_InGrid_byPos__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_is_InGrid_byPos'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_InGrid_byPos(CSG_Grid const *,double,double)\n"
+-    "    is_InGrid_byPos(CSG_Grid const *,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Buffer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Buffer_Size",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Buffer_Size" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (int)(arg1)->Get_Buffer_Size();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Buffer_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  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:CSG_Grid_Set_Buffer_Size",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Buffer_Size" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Buffer_Size" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Buffer_Size(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Cache(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Cache",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Cache" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Cache" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_Cache(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Cached(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_is_Cached",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Cached" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)(arg1)->is_Cached();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Compression(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Compression",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Compression" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Compression" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_Compression(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_Compressed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_is_Compressed",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_Compressed" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)(arg1)->is_Compressed();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Compression_Ratio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Get_Compression_Ratio",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Compression_Ratio" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (double)(arg1)->Get_Compression_Ratio();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign_NoData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Assign_NoData",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Assign_NoData" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Assign_NoData();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Assign" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Assign" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Assign",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Assign" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)(arg1)->Assign();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_Grid_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Assign" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = (CSG_Grid *) 0 ;
+-  TSG_Grid_Interpolation arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Assign" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Assign" "', argument " "2"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Assign" "', argument " "3"" of type '" "TSG_Grid_Interpolation""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Interpolation >(val3);
+-  result = (bool)(arg1)->Assign(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Assign(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Assign__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Assign__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Assign__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Grid *,double)\n"
+-    "    Assign(CSG_Grid *)\n"
+-    "    Assign(CSG_Grid *,CSG_Data_Object *)\n"
+-    "    Assign(CSG_Grid *,CSG_Grid *,TSG_Grid_Interpolation)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Flip(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Flip",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Flip" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Flip();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Mirror(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Mirror",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Mirror" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Mirror();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Invert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Invert",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Invert" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Invert();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Normalise(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Normalise",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Normalise" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Normalise();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_DeNormalise(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_DeNormalise",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_DeNormalise" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_DeNormalise" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_DeNormalise" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->DeNormalise(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Gradient_NeighborDir__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Gradient_NeighborDir",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (int)((CSG_Grid const *)arg1)->Get_Gradient_NeighborDir(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Gradient_NeighborDir__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Gradient_NeighborDir",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Gradient_NeighborDir" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid const *)arg1)->Get_Gradient_NeighborDir(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Gradient_NeighborDir(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Gradient_NeighborDir__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Gradient_NeighborDir__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_Gradient_NeighborDir'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Gradient_NeighborDir(CSG_Grid const *,int,int,bool)\n"
+-    "    Get_Gradient_NeighborDir(CSG_Grid const *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Gradient(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double *arg4 = 0 ;
+-  double *arg5 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Gradient",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Gradient" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Gradient" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Gradient" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Gradient" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Gradient" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_Get_Gradient" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Gradient" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  arg5 = reinterpret_cast< double * >(argp5);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Gradient(arg2,arg3,*arg4,*arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Modified__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Modified",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Modified" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Modified" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Modified(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Modified__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Set_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Modified" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  (arg1)->Set_Modified();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Modified(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Set_Modified__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Set_Modified__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Set_Modified'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Modified(CSG_Grid *,bool)\n"
+-    "    Set_Modified(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Index__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_Index",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Index" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Index" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_Index(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Index__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Set_Index",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Index" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (bool)(arg1)->Set_Index();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Index(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Grid_Set_Index__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Set_Index__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Set_Index'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Index(CSG_Grid *,bool)\n"
+-    "    Set_Index(CSG_Grid *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (long)(arg1)->Get_Sorted(arg2,arg3,arg4);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (long)(arg1)->Get_Sorted(arg2,arg3);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_Sorted",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (long)(arg1)->Get_Sorted(arg2);
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  long *arg3 = 0 ;
+-  bool arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_long,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  arg3 = reinterpret_cast< long * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Sorted" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  long *arg3 = 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_long,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  arg3 = reinterpret_cast< long * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  long *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_long,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "long &""'"); 
+-  }
+-  arg3 = reinterpret_cast< long * >(argp3);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Sorted" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Sorted" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3,*arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Sorted" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3,*arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Sorted",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Sorted" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Sorted" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Sorted" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  result = (bool)(arg1)->Get_Sorted(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Sorted(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_Sorted__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_long, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Sorted__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Sorted__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_long, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Sorted__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Sorted__SWIG_8(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Sorted__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Sorted__SWIG_7(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_long, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Sorted__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Get_Sorted__SWIG_6(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_Sorted'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Sorted(CSG_Grid *,long,bool,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long)\n"
+-    "    Get_Sorted(CSG_Grid *,long,long &,bool,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long,long &,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long,long &)\n"
+-    "    Get_Sorted(CSG_Grid *,long,int &,int &,bool,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long,int &,int &,bool)\n"
+-    "    Get_Sorted(CSG_Grid *,long,int &,int &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Percentile__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Percentile",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Percentile" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Percentile" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Percentile" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)(arg1)->Get_Percentile(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Percentile__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_Percentile",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Percentile" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Percentile" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (double)(arg1)->Get_Percentile(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Percentile(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_Percentile__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Percentile__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_Percentile'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Percentile(CSG_Grid *,double,bool)\n"
+-    "    Get_Percentile(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_is_NoData",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_NoData" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_is_NoData" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_Grid const *)arg1)->is_NoData(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_is_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_is_NoData" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_is_NoData" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (bool)((CSG_Grid const *)arg1)->is_NoData(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_is_NoData(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_is_NoData__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_is_NoData__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_is_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_NoData(CSG_Grid const *,int,int)\n"
+-    "    is_NoData(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Set_NoData",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_NoData" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Set_NoData" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_NoData(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Set_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_NoData" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_NoData" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  (arg1)->Set_NoData(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_NoData(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Set_NoData__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Set_NoData__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Set_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_NoData(CSG_Grid *,int,int)\n"
+-    "    Set_NoData(CSG_Grid *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___add____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___add__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___add__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___add__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = ((CSG_Grid const *)arg1)->operator +((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___add____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___add__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___add__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___add__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Grid const *)arg1)->operator +(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___add__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___add____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___add____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___iadd____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___iadd__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___iadd__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___iadd__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->operator +=((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___iadd____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___iadd__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___iadd__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___iadd__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->operator +=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___iadd__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___iadd____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___iadd____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid___iadd__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator +=(CSG_Grid *,CSG_Grid const &)\n"
+-    "    operator +=(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Add" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Add" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Add" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->Add((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Add",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Add" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Add" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->Add(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Add__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Add__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Add'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add(CSG_Grid *,CSG_Grid const &)\n"
+-    "    Add(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___sub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___sub__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___sub__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___sub__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = ((CSG_Grid const *)arg1)->operator -((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___sub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___sub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___sub__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___sub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Grid const *)arg1)->operator -(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___sub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___sub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___sub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___isub____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___isub__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___isub__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___isub__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->operator -=((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___isub____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___isub__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___isub__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___isub__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->operator -=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___isub__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___isub____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___isub____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid___isub__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator -=(CSG_Grid *,CSG_Grid const &)\n"
+-    "    operator -=(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Subtract__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Subtract" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Subtract" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Subtract" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->Subtract((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Subtract__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Subtract",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Subtract" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Subtract" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->Subtract(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Subtract(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Subtract__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Subtract__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Subtract'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Subtract(CSG_Grid *,CSG_Grid const &)\n"
+-    "    Subtract(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___mul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___mul__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___mul__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___mul__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = ((CSG_Grid const *)arg1)->operator *((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___mul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___mul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___mul__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___mul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Grid const *)arg1)->operator *(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___mul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___mul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___mul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___imul____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___imul__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___imul__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___imul__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->operator *=((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___imul____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___imul__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___imul__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___imul__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->operator *=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___imul__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___imul____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___imul____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid___imul__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator *=(CSG_Grid *,CSG_Grid const &)\n"
+-    "    operator *=(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Multiply__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Multiply" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Multiply" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Multiply" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->Multiply((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Multiply__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Multiply",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Multiply" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Multiply" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->Multiply(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Multiply(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Multiply__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Multiply__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Multiply'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Multiply(CSG_Grid *,CSG_Grid const &)\n"
+-    "    Multiply(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___div____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___div__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___div__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___div__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___div__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = ((CSG_Grid const *)arg1)->operator /((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___div____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___div__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___div__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___div__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = ((CSG_Grid const *)arg1)->operator /(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_Grid(static_cast< const CSG_Grid& >(result))), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___div__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___div____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___div____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  Py_INCREF(Py_NotImplemented);
+-  return Py_NotImplemented;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___idiv____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___idiv__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___idiv__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid___idiv__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid___idiv__" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->operator /=((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___idiv____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid___idiv__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___idiv__" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___idiv__" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->operator /=(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___idiv__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid___idiv____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid___idiv____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid___idiv__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator /=(CSG_Grid *,CSG_Grid const &)\n"
+-    "    operator /=(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Divide__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  CSG_Grid *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Divide",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Divide" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Divide" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Divide" "', argument " "2"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid * >(argp2);
+-  result = (CSG_Grid *) &(arg1)->Divide((CSG_Grid const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Divide__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Divide",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Divide" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Divide" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (CSG_Grid *) &(arg1)->Divide(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Divide(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Grid, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Divide__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Divide__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Divide'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Divide(CSG_Grid *,CSG_Grid const &)\n"
+-    "    Divide(CSG_Grid *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid___call__(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid___call__",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid___call__" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid___call__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid___call__" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_Grid const *)arg1)->operator ()(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Get_Value" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (double)((CSG_Grid const *)arg1)->Get_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double *arg4 = 0 ;
+-  int arg5 ;
+-  bool arg6 ;
+-  bool arg7 ;
+-  bool arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Get_Value" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Grid_Get_Value" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,*arg4,arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double *arg4 = 0 ;
+-  int arg5 ;
+-  bool arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Get_Value" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,*arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double *arg4 = 0 ;
+-  int arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,*arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double *arg4 = 0 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,*arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_14(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_15(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  double *arg3 = 0 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Get_Value" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,*arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_16(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  double *arg3 = 0 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Grid_Get_Value" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,*arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_17(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  double *arg3 = 0 ;
+-  int arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Grid_Get_Value" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,*arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_18(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  double *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Get_Value" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value__SWIG_19(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Point arg2 ;
+-  double *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Get_Value" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Get_Value" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  result = (bool)((CSG_Grid const *)arg1)->Get_Value(arg2,*arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Get_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[9];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 8); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Grid_Get_Value__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Value__SWIG_19(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Get_Value__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Grid_Get_Value__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Value__SWIG_18(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Value__SWIG_7(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Value__SWIG_14(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Get_Value__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Value__SWIG_17(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Value__SWIG_6(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Value__SWIG_13(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Grid_Get_Value__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Get_Value__SWIG_16(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Get_Value__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Get_Value__SWIG_12(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Grid_Get_Value__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_double, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Get_Value__SWIG_15(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Get_Value__SWIG_11(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Get_Value__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_double, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Grid_Get_Value__SWIG_10(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Get_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Value(CSG_Grid const *,double,double,int,bool,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,int,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,int,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,int)\n"
+-    "    Get_Value(CSG_Grid const *,double,double)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,int,bool,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,int,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,int,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,int)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,double &,int,bool,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,double &,int,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,double &,int,bool)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,double &,int)\n"
+-    "    Get_Value(CSG_Grid const *,double,double,double &)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,double &,int,bool,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,double &,int,bool,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,double &,int,bool)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,double &,int)\n"
+-    "    Get_Value(CSG_Grid const *,TSG_Point,double &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asByte__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asByte",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asByte" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asByte" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asByte" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asByte" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = ((CSG_Grid const *)arg1)->asByte(arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asByte__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asByte",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asByte" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asByte" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asByte" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = ((CSG_Grid const *)arg1)->asByte(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asByte__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asByte",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asByte" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asByte" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asByte" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = ((CSG_Grid const *)arg1)->asByte(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asByte__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  BYTE result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asByte",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asByte" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asByte" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = ((CSG_Grid const *)arg1)->asByte(arg2);
+-  resultobj = SWIG_NewPointerObj((new BYTE(static_cast< const BYTE& >(result))), SWIGTYPE_p_BYTE, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asByte(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asByte__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asByte__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asByte__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asByte__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asByte'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asByte(CSG_Grid const *,int,int,bool)\n"
+-    "    asByte(CSG_Grid const *,int,int)\n"
+-    "    asByte(CSG_Grid const *,long,bool)\n"
+-    "    asByte(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asChar__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asChar",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asChar" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asChar" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asChar" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asChar" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (char)((CSG_Grid const *)arg1)->asChar(arg2,arg3,arg4);
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asChar__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asChar",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asChar" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asChar" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asChar" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (char)((CSG_Grid const *)arg1)->asChar(arg2,arg3);
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asChar__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asChar",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asChar" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asChar" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asChar" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (char)((CSG_Grid const *)arg1)->asChar(arg2,arg3);
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asChar__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  char result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asChar",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asChar" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asChar" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (char)((CSG_Grid const *)arg1)->asChar(arg2);
+-  resultobj = SWIG_From_char(static_cast< char >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asChar(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asChar__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asChar__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asChar__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asChar__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asChar'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asChar(CSG_Grid const *,int,int,bool)\n"
+-    "    asChar(CSG_Grid const *,int,int)\n"
+-    "    asChar(CSG_Grid const *,long,bool)\n"
+-    "    asChar(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asShort__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asShort",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asShort" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asShort" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asShort" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (short)((CSG_Grid const *)arg1)->asShort(arg2,arg3,arg4);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asShort__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asShort",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asShort" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asShort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asShort" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (short)((CSG_Grid const *)arg1)->asShort(arg2,arg3);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asShort__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asShort",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asShort" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asShort" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asShort" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (short)((CSG_Grid const *)arg1)->asShort(arg2,arg3);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asShort__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  short result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asShort",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asShort" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asShort" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (short)((CSG_Grid const *)arg1)->asShort(arg2);
+-  resultobj = SWIG_From_short(static_cast< short >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asShort(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asShort__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asShort__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asShort__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asShort__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asShort'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asShort(CSG_Grid const *,int,int,bool)\n"
+-    "    asShort(CSG_Grid const *,int,int)\n"
+-    "    asShort(CSG_Grid const *,long,bool)\n"
+-    "    asShort(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asInt__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asInt",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asInt" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asInt" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asInt" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (int)((CSG_Grid const *)arg1)->asInt(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asInt__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asInt",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asInt" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asInt" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asInt" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid const *)arg1)->asInt(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asInt__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asInt",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asInt" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asInt" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asInt" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (int)((CSG_Grid const *)arg1)->asInt(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asInt__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asInt",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asInt" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asInt" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (int)((CSG_Grid const *)arg1)->asInt(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asInt(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asInt__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asInt__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asInt__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asInt__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asInt'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asInt(CSG_Grid const *,int,int,bool)\n"
+-    "    asInt(CSG_Grid const *,int,int)\n"
+-    "    asInt(CSG_Grid const *,long,bool)\n"
+-    "    asInt(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asFloat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asFloat",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asFloat" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asFloat" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asFloat" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (float)((CSG_Grid const *)arg1)->asFloat(arg2,arg3,arg4);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asFloat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asFloat",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asFloat" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asFloat" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asFloat" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (float)((CSG_Grid const *)arg1)->asFloat(arg2,arg3);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asFloat__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asFloat",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asFloat" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asFloat" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asFloat" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (float)((CSG_Grid const *)arg1)->asFloat(arg2,arg3);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asFloat__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  float result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asFloat",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asFloat" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asFloat" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (float)((CSG_Grid const *)arg1)->asFloat(arg2);
+-  resultobj = SWIG_From_float(static_cast< float >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asFloat(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asFloat__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asFloat__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asFloat__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asFloat__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asFloat'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asFloat(CSG_Grid const *,int,int,bool)\n"
+-    "    asFloat(CSG_Grid const *,int,int)\n"
+-    "    asFloat(CSG_Grid const *,long,bool)\n"
+-    "    asFloat(CSG_Grid const *,long)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asDouble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asDouble",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asDouble" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asDouble" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asDouble" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (double)((CSG_Grid const *)arg1)->asDouble(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asDouble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_asDouble",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asDouble" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asDouble" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (double)((CSG_Grid const *)arg1)->asDouble(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asDouble__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_asDouble",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asDouble" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asDouble" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_asDouble" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (double)((CSG_Grid const *)arg1)->asDouble(arg2,arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asDouble__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_asDouble",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_asDouble" "', argument " "1"" of type '" "CSG_Grid const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_asDouble" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_asDouble" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_Grid const *)arg1)->asDouble(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_asDouble(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_asDouble__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asDouble__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_asDouble__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_asDouble__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_asDouble'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    asDouble(CSG_Grid const *,long,bool)\n"
+-    "    asDouble(CSG_Grid const *,long)\n"
+-    "    asDouble(CSG_Grid const *,int,int,bool)\n"
+-    "    asDouble(CSG_Grid const *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Add_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Add_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Add_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Add_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Add_Value" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  (arg1)->Add_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Add_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Add_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Add_Value" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Add_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Add_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Add_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(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_CSG_Grid_Add_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Add_Value__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Add_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Value(CSG_Grid *,int,int,double)\n"
+-    "    Add_Value(CSG_Grid *,long,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Mul_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Mul_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Mul_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Mul_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Mul_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Mul_Value" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  (arg1)->Mul_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Mul_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Mul_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Mul_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Mul_Value" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Mul_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Mul_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Mul_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(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_CSG_Grid_Mul_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Mul_Value__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Mul_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Mul_Value(CSG_Grid *,int,int,double)\n"
+-    "    Mul_Value(CSG_Grid *,long,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Value" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Value" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Set_Value" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  (arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(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_CSG_Grid_Set_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Set_Value__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Grid *,long,double)\n"
+-    "    Set_Value(CSG_Grid *,int,int,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value_And_Sort__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  long arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Set_Value_And_Sort",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  (arg1)->Set_Value_And_Sort(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value_And_Sort__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Set_Value_And_Sort",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Set_Value_And_Sort" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  (arg1)->Set_Value_And_Sort(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Set_Value_And_Sort(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_long(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_CSG_Grid_Set_Value_And_Sort__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Grid_Set_Value_And_Sort__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Set_Value_And_Sort'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value_And_Sort(CSG_Grid *,long,double)\n"
+-    "    Set_Value_And_Sort(CSG_Grid *,int,int,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Create_Grid")) SWIG_fail;
+-  result = (CSG_Grid *)SG_Create_Grid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_Grid const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Create_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_String const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Create_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Create_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Create_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid *arg1 = (CSG_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid * >(argp1);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  TSG_Grid_Memory_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Create_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Grid_Memory_Type >(val3);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_Grid_System const &)*arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Create_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_Grid_System const &)*arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_System *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Grid_System,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "CSG_Grid_System const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_System * >(argp1);
+-  result = (CSG_Grid *)SG_Create_Grid((CSG_Grid_System const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  TSG_Grid_Memory_Type arg7 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:SG_Create_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Create_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SG_Create_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "SG_Create_Grid" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "SG_Create_Grid" "', argument " "7"" of type '" "TSG_Grid_Memory_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Grid_Memory_Type >(val7);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  double arg6 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:SG_Create_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Create_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SG_Create_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "SG_Create_Grid" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  double arg5 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:SG_Create_Grid",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Create_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "SG_Create_Grid" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_14(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Create_Grid",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Create_Grid" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid__SWIG_15(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Data_Type arg1 ;
+-  int arg2 ;
+-  int arg3 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Create_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Grid" "', argument " "1"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Data_Type >(val1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SG_Create_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "SG_Create_Grid" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (CSG_Grid *)SG_Create_Grid(arg1,arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Grid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Create_Grid__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Grid__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Grid__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Grid__SWIG_7(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Grid__SWIG_10(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Create_Grid__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Create_Grid__SWIG_9(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_SG_Create_Grid__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Grid_System, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Create_Grid__SWIG_8(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Create_Grid__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Create_Grid__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_SG_Create_Grid__SWIG_15(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_SG_Create_Grid__SWIG_14(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_SG_Create_Grid__SWIG_13(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_SG_Create_Grid__SWIG_12(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_SG_Create_Grid__SWIG_11(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Create_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Create_Grid()\n"
+-    "    SG_Create_Grid(CSG_Grid const &)\n"
+-    "    SG_Create_Grid(CSG_String const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    SG_Create_Grid(CSG_String const &,TSG_Data_Type)\n"
+-    "    SG_Create_Grid(CSG_String const &)\n"
+-    "    SG_Create_Grid(CSG_Grid *,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    SG_Create_Grid(CSG_Grid *,TSG_Data_Type)\n"
+-    "    SG_Create_Grid(CSG_Grid *)\n"
+-    "    SG_Create_Grid(CSG_Grid_System const &,TSG_Data_Type,TSG_Grid_Memory_Type)\n"
+-    "    SG_Create_Grid(CSG_Grid_System const &,TSG_Data_Type)\n"
+-    "    SG_Create_Grid(CSG_Grid_System const &)\n"
+-    "    SG_Create_Grid(TSG_Data_Type,int,int,double,double,double,TSG_Grid_Memory_Type)\n"
+-    "    SG_Create_Grid(TSG_Data_Type,int,int,double,double,double)\n"
+-    "    SG_Create_Grid(TSG_Data_Type,int,int,double,double)\n"
+-    "    SG_Create_Grid(TSG_Data_Type,int,int,double)\n"
+-    "    SG_Create_Grid(TSG_Data_Type,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Get_Directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Grid_Cache_Get_Directory")) SWIG_fail;
+-  result = (wchar_t *)SG_Grid_Cache_Get_Directory();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Set_Directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *arg1 = (wchar_t *) 0 ;
+-  int res1 ;
+-  wchar_t *buf1 = 0 ;
+-  int alloc1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Grid_Cache_Set_Directory",&obj0)) SWIG_fail;
+-  res1 = SWIG_AsWCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Grid_Cache_Set_Directory" "', argument " "1"" of type '" "wchar_t const *""'");
+-  }
+-  arg1 = reinterpret_cast< wchar_t * >(buf1);
+-  SG_Grid_Cache_Set_Directory((wchar_t const *)arg1);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return resultobj;
+-fail:
+-  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Set_Automatic(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool arg1 ;
+-  bool val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Grid_Cache_Set_Automatic",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_bool(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Grid_Cache_Set_Automatic" "', argument " "1"" of type '" "bool""'");
+-  } 
+-  arg1 = static_cast< bool >(val1);
+-  SG_Grid_Cache_Set_Automatic(arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Get_Automatic(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Grid_Cache_Get_Automatic")) SWIG_fail;
+-  result = (bool)SG_Grid_Cache_Get_Automatic();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Set_Confirm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Grid_Cache_Set_Confirm",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Grid_Cache_Set_Confirm" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  SG_Grid_Cache_Set_Confirm(arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Get_Confirm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Grid_Cache_Get_Confirm")) SWIG_fail;
+-  result = (int)SG_Grid_Cache_Get_Confirm();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Set_Threshold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Grid_Cache_Set_Threshold",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Grid_Cache_Set_Threshold" "', argument " "1"" of type '" "int""'");
+-  } 
+-  arg1 = static_cast< int >(val1);
+-  SG_Grid_Cache_Set_Threshold(arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Set_Threshold_MB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double arg1 ;
+-  double val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Grid_Cache_Set_Threshold_MB",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_double(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Grid_Cache_Set_Threshold_MB" "', argument " "1"" of type '" "double""'");
+-  } 
+-  arg1 = static_cast< double >(val1);
+-  SG_Grid_Cache_Set_Threshold_MB(arg1);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Get_Threshold(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Grid_Cache_Get_Threshold")) SWIG_fail;
+-  result = (int)SG_Grid_Cache_Get_Threshold();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Grid_Cache_Get_Threshold_MB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Grid_Cache_Get_Threshold_MB")) SWIG_fail;
+-  result = (double)SG_Grid_Cache_Get_Threshold_MB();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Stack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Stack *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid_Stack")) SWIG_fail;
+-  result = (CSG_Grid_Stack *)new CSG_Grid_Stack();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Stack, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Stack_Push(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Stack *arg1 = (CSG_Grid_Stack *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Stack_Push",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Stack_Push" "', argument " "1"" of type '" "CSG_Grid_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Stack * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Stack_Push" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Stack_Push" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Push(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Stack_Pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Stack *arg1 = (CSG_Grid_Stack *) 0 ;
+-  int *arg2 = 0 ;
+-  int *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Stack_Pop",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Stack, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Stack_Pop" "', argument " "1"" of type '" "CSG_Grid_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Stack * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Grid_Stack_Pop" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Stack_Pop" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Stack_Pop" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Stack_Pop" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  (arg1)->Pop(*arg2,*arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid_Stack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Stack *arg1 = (CSG_Grid_Stack *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid_Stack",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Stack, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid_Stack" "', argument " "1"" of type '" "CSG_Grid_Stack *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Stack * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_Stack_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid_Stack, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Grid_Cell_Addressor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Grid_Cell_Addressor")) SWIG_fail;
+-  result = (CSG_Grid_Cell_Addressor *)new CSG_Grid_Cell_Addressor();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_Cell_Addressor, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Cell_Addressor_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Destroy" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Weighting(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Distance_Weighting *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Cell_Addressor_Get_Weighting",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Weighting" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  result = (CSG_Distance_Weighting *) &(arg1)->Get_Weighting();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Distance_Weighting, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Set_Radius(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  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:CSG_Grid_Cell_Addressor_Set_Radius",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Set_Radius" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Set_Radius" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Radius(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Set_Sector(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Grid_Cell_Addressor_Set_Sector",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Set_Sector" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Set_Sector" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Cell_Addressor_Set_Sector" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Grid_Cell_Addressor_Set_Sector" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Sector(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Grid_Cell_Addressor_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Count" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  result = (int)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_X__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Cell_Addressor_Get_X",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_X" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Cell_Addressor_Get_X" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_Cell_Addressor const *)arg1)->Get_X(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_X__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Cell_Addressor_Get_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_X" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_Cell_Addressor const *)arg1)->Get_X(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_X(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Cell_Addressor_Get_X__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Cell_Addressor_Get_X__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Cell_Addressor_Get_X'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_X(CSG_Grid_Cell_Addressor const *,int,int)\n"
+-    "    Get_X(CSG_Grid_Cell_Addressor const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Y__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Grid_Cell_Addressor_Get_Y",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Y" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Grid_Cell_Addressor_Get_Y" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Y(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Y__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Cell_Addressor_Get_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Y" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Y(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Y(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Grid_Cell_Addressor_Get_Y__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Grid_Cell_Addressor_Get_Y__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Cell_Addressor_Get_Y'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Y(CSG_Grid_Cell_Addressor const *,int,int)\n"
+-    "    Get_Y(CSG_Grid_Cell_Addressor const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Cell_Addressor_Get_Distance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Distance" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Distance" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Distance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Weight(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Grid_Cell_Addressor_Get_Weight",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Weight" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Weight" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Weight(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Values__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  double *arg5 = 0 ;
+-  double *arg6 = 0 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Grid_Cell_Addressor_Get_Values",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  arg5 = reinterpret_cast< double * >(argp5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  arg6 = reinterpret_cast< double * >(argp6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (bool)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Values(arg2,*arg3,*arg4,*arg5,*arg6,arg7);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Values__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  int arg2 ;
+-  int *arg3 = 0 ;
+-  int *arg4 = 0 ;
+-  double *arg5 = 0 ;
+-  double *arg6 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Grid_Cell_Addressor_Get_Values",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "3"" of type '" "int &""'"); 
+-  }
+-  arg3 = reinterpret_cast< int * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "4"" of type '" "int &""'"); 
+-  }
+-  arg4 = reinterpret_cast< int * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  arg5 = reinterpret_cast< double * >(argp5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Grid_Cell_Addressor_Get_Values" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  arg6 = reinterpret_cast< double * >(argp6);
+-  result = (bool)((CSG_Grid_Cell_Addressor const *)arg1)->Get_Values(arg2,*arg3,*arg4,*arg5,*arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Grid_Cell_Addressor_Get_Values(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            void *vptr = 0;
+-            int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_double, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_double, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Grid_Cell_Addressor_Get_Values__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Grid_Cell_Addressor, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_int, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_int, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            void *vptr = 0;
+-            int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_double, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_double, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Grid_Cell_Addressor_Get_Values__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Grid_Cell_Addressor_Get_Values'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Values(CSG_Grid_Cell_Addressor const *,int,int &,int &,double &,double &,bool)\n"
+-    "    Get_Values(CSG_Grid_Cell_Addressor const *,int,int &,int &,double &,double &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Grid_Cell_Addressor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Grid_Cell_Addressor *arg1 = (CSG_Grid_Cell_Addressor *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Grid_Cell_Addressor",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Grid_Cell_Addressor, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Grid_Cell_Addressor" "', argument " "1"" of type '" "CSG_Grid_Cell_Addressor *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Grid_Cell_Addressor * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Grid_Cell_Addressor_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Grid_Cell_Addressor, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Get_ShapeType_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Get_ShapeType_Name",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Get_ShapeType_Name" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  result = (wchar_t *)SG_Get_ShapeType_Name(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Destroy" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Assign__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_Shape_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Assign" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Assign" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Assign__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Assign",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Assign" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Assign" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Assign" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Assign(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Assign(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Assign__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Assign__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Assign'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Assign(CSG_Shape *,CSG_Shape *)\n"
+-    "    Assign(CSG_Shape *,CSG_Shape *,bool)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Shape_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Type" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (TSG_Shape_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_is_Valid" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Add_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Add_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Add_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Add_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Add_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (int)(arg1)->Add_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Ins_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Ins_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Ins_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Ins_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Ins_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Ins_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Ins_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Set_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Set_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Del_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Del_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Del_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Del_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Del_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Del_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Del_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Del_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Del_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Del_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Del_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Del_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Point(CSG_Shape *,int,int)\n"
+-    "    Del_Point(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Add_Point__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Add_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Add_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Add_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Add_Point__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Add_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Add_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Add_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (int)(arg1)->Add_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Add_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Add_Point__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Add_Point__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Add_Point__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Add_Point__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Add_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Point(CSG_Shape *,double,double,int)\n"
+-    "    Add_Point(CSG_Shape *,double,double)\n"
+-    "    Add_Point(CSG_Shape *,TSG_Point,int)\n"
+-    "    Add_Point(CSG_Shape *,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Ins_Point__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Ins_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Ins_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Ins_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Ins_Point__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Ins_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Ins_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Ins_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Ins_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Ins_Point__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Ins_Point__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Ins_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Ins_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Ins_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Point(CSG_Shape *,double,double,int,int)\n"
+-    "    Ins_Point(CSG_Shape *,double,double,int)\n"
+-    "    Ins_Point(CSG_Shape *,TSG_Point,int,int)\n"
+-    "    Ins_Point(CSG_Shape *,TSG_Point,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Point__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Point__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Set_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Set_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Set_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Set_Point__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Set_Point__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Set_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Set_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Set_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Point(CSG_Shape *,double,double,int,int)\n"
+-    "    Set_Point(CSG_Shape *,double,double,int)\n"
+-    "    Set_Point(CSG_Shape *,TSG_Point,int,int)\n"
+-    "    Set_Point(CSG_Shape *,TSG_Point,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Del_Part(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Del_Part",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Del_Part" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Del_Part" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Part(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Del_Parts(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Del_Parts",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Del_Parts" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (int)(arg1)->Del_Parts();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Part_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_Part_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Part_Count" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (int)(arg1)->Get_Part_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point_Count__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_Point_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Point_Count" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (int)(arg1)->Get_Point_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point_Count__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_Point_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Point_Count" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Point_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Point_Count(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point_Count(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Get_Point_Count__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_Point_Count__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_Point_Count'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point_Count(CSG_Shape *)\n"
+-    "    Get_Point_Count(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Get_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (arg1)->Get_Point(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Point" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Get_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point(CSG_Shape *,int,int)\n"
+-    "    Get_Point(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Set_Z",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Z" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Set_Z" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_Z(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Set_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_Z" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Z(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Set_Z__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Set_Z__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Set_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Z(CSG_Shape *,double,int,int)\n"
+-    "    Set_Z(CSG_Shape *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Get_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Z" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Get_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Z(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Z" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_Z__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Get_Z__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Z(CSG_Shape *,int,int)\n"
+-    "    Get_Z(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_ZMin" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_ZMax" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Set_M",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_M" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Set_M" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_M(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Set_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Set_M" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_M(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Set_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Set_M__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Set_M__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Set_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_M(CSG_Shape *,double,int,int)\n"
+-    "    Set_M(CSG_Shape *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Get_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_M" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Get_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_M(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_M" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_M(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_M__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Get_M__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_M(CSG_Shape *,int,int)\n"
+-    "    Get_M(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_MMin" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_MMax" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Extent__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Extent" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Extent__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_Extent",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Extent" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Get_Extent" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Extent(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Get_Extent__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_Extent__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_Extent'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Extent(CSG_Shape *)\n"
+-    "    Get_Extent(CSG_Shape *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Intersects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Rect arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Intersects",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Intersects" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Intersects" "', argument " "2"" of type '" "TSG_Rect""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Intersects" "', argument " "2"" of type '" "TSG_Rect""'");
+-    } else {
+-      TSG_Rect * temp = reinterpret_cast< TSG_Rect * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (int)(arg1)->Intersects(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Distance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Get_Distance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Distance" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (double)(arg1)->Get_Distance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Distance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Distance" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Get_Distance" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Distance(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Distance__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Distance" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Distance__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Get_Distance" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Get_Distance" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Get_Distance(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Get_Distance__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Shape_Get_Distance__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Get_Distance__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Get_Distance__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Get_Distance'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Distance(CSG_Shape *,TSG_Point)\n"
+-    "    Get_Distance(CSG_Shape *,TSG_Point,int)\n"
+-    "    Get_Distance(CSG_Shape *,TSG_Point,TSG_Point &)\n"
+-    "    Get_Distance(CSG_Shape *,TSG_Point,TSG_Point &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_is_Valid" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Add_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Add_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (int)(arg1)->Add_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Add_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Point_Add_Point__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_Add_Point__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Add_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Point(CSG_Shape_Point *,double,double,int)\n"
+-    "    Add_Point(CSG_Shape_Point *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Ins_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Point_Ins_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Ins_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_Ins_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Ins_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_Ins_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Point_Ins_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Ins_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Point(CSG_Shape_Point *,double,double,int,int)\n"
+-    "    Ins_Point(CSG_Shape_Point *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Set_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Point_Set_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Set_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Set_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_Set_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Point_Set_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Set_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Point(CSG_Shape_Point *,double,double,int,int)\n"
+-    "    Set_Point(CSG_Shape_Point *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Del_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Del_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Del_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Del_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Del_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Del_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Del_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Del_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Del_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Point_Del_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_Del_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Del_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Point(CSG_Shape_Point *,int,int)\n"
+-    "    Del_Point(CSG_Shape_Point *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Del_Part(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Del_Part",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Del_Part" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Del_Part" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Part(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Del_Parts(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_Del_Parts",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Del_Parts" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  result = (int)(arg1)->Del_Parts();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Part_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_Get_Part_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Part_Count" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  result = (int)(arg1)->Get_Part_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Get_Point_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Point_Count" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Get_Point_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Point_Count(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Get_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (arg1)->Get_Point(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Point" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Point_Get_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_Get_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Get_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point(CSG_Shape_Point *,int,int)\n"
+-    "    Get_Point(CSG_Shape_Point *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Extent" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Distance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Get_Distance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (double)(arg1)->Get_Distance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Distance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Distance(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Distance__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Distance__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point *arg1 = (CSG_Shape_Point *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Point *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Get_Distance" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Get_Distance(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Point_Get_Distance__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_Get_Distance__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_Get_Distance__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_Get_Distance__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Get_Distance'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Distance(CSG_Shape_Point *,TSG_Point)\n"
+-    "    Get_Distance(CSG_Shape_Point *,TSG_Point,int)\n"
+-    "    Get_Distance(CSG_Shape_Point *,TSG_Point,TSG_Point &)\n"
+-    "    Get_Distance(CSG_Shape_Point *,TSG_Point,TSG_Point &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Point_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Point, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shape_Point_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape_Point_Z *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Shape_Point_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Shape_Point_Z" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Shape_Point_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape_Point_Z *)new CSG_Shape_Point_Z(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape_Point_Z, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Set_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_Z_Set_Z",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_Z(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Set_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Z_Set_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Z_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Z(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Set_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Point_Z_Set_Z__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_Z_Set_Z__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Z_Set_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Z(CSG_Shape_Point_Z *,double,int,int)\n"
+-    "    Set_Z(CSG_Shape_Point_Z *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Get_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_Z_Get_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Z_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_Z_Get_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Z(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Get_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_Z_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_Z_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Get_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Point_Z_Get_Z__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_Z, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_Z_Get_Z__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_Z_Get_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Z(CSG_Shape_Point_Z *,int,int)\n"
+-    "    Get_Z(CSG_Shape_Point_Z *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_Z_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Get_ZMin" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_Z_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_Z_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_Z_Get_ZMax" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Shape_Point_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_Z *arg1 = (CSG_Shape_Point_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Shape_Point_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_Z, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Shape_Point_Z" "', argument " "1"" of type '" "CSG_Shape_Point_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_Z * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Point_Z_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Point_Z, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shape_Point_ZM(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape_Point_ZM *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Shape_Point_ZM",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Shape_Point_ZM" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Shape_Point_ZM" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape_Point_ZM *)new CSG_Shape_Point_ZM(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape_Point_ZM, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Set_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Point_ZM_Set_M",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_M(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Set_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_ZM_Set_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_ZM_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_M(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Set_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Point_ZM_Set_M__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Point_ZM_Set_M__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_ZM_Set_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_M(CSG_Shape_Point_ZM *,double,int,int)\n"
+-    "    Set_M(CSG_Shape_Point_ZM *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Get_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Point_ZM_Get_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Get_M" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_ZM_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Point_ZM_Get_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_M(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Get_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Point_ZM_Get_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Get_M" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Point_ZM_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_M(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Get_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Point_ZM_Get_M__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Point_ZM, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Point_ZM_Get_M__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Point_ZM_Get_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_M(CSG_Shape_Point_ZM *,int,int)\n"
+-    "    Get_M(CSG_Shape_Point_ZM *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_ZM_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Get_MMin" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Point_ZM_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Point_ZM_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Point_ZM_Get_MMax" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Shape_Point_ZM(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Point_ZM *arg1 = (CSG_Shape_Point_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Shape_Point_ZM",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Point_ZM, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Shape_Point_ZM" "', argument " "1"" of type '" "CSG_Shape_Point_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Point_ZM * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Point_ZM_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Point_ZM, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_Owner(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shape_Points *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_Owner",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_Owner" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (CSG_Shape_Points *)(arg1)->Get_Owner();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Destroy" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  CSG_Shape_Part *arg2 = (CSG_Shape_Part *) 0 ;
+-  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:CSG_Shape_Part_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Assign" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_Assign" "', argument " "2"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape_Part * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_Extent" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_Count" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Add_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Add_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_Add_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Part_Add_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (int)(arg1)->Add_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Ins_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Ins_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Set_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Set_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Part_Set_Point" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Set_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Add_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (int)(arg1)->Add_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Add_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Part_Add_Point__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Part_Add_Point__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Part_Add_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Point(CSG_Shape_Part *,TSG_Point)\n"
+-    "    Add_Point(CSG_Shape_Part *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Ins_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Part_Ins_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Part_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Ins_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Part_Ins_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Part_Ins_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Part_Ins_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Point(CSG_Shape_Part *,TSG_Point,int)\n"
+-    "    Ins_Point(CSG_Shape_Part *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Set_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Part_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Part_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Set_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Part_Set_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Part_Set_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Part_Set_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Point(CSG_Shape_Part *,TSG_Point,int)\n"
+-    "    Set_Point(CSG_Shape_Part *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Del_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Del_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Del_Point" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Set_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Set_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Z(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_ZMin" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_ZMax" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Set_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Set_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Set_M" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_M(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Get_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_M" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_M(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_MMin" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part *arg1 = (CSG_Shape_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Get_MMax" "', argument " "1"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Part_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Part, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Z_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Destroy" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  CSG_Shape_Part *arg2 = (CSG_Shape_Part *) 0 ;
+-  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:CSG_Shape_Part_Z_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Assign" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_Z_Assign" "', argument " "2"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape_Part * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Set_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_Z_Set_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Z_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_Z_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Z(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Get_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_Z_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_Z_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Z_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Get_ZMin" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_Z_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_Z *arg1 = (CSG_Shape_Part_Z *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_Z_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_Z, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_Z_Get_ZMax" "', argument " "1"" of type '" "CSG_Shape_Part_Z *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_Z * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Part_Z_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Part_Z, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_ZM_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Destroy" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  CSG_Shape_Part *arg2 = (CSG_Shape_Part *) 0 ;
+-  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:CSG_Shape_Part_ZM_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Assign" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Part_ZM_Assign" "', argument " "2"" of type '" "CSG_Shape_Part *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape_Part * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Set_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Part_ZM_Set_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Set_M" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_ZM_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Part_ZM_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_M(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Get_M(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Part_ZM_Get_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Get_M" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Part_ZM_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_M(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_ZM_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Get_MMin" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Part_ZM_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Part_ZM *arg1 = (CSG_Shape_Part_ZM *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Part_ZM_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Part_ZM, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Part_ZM_Get_MMax" "', argument " "1"" of type '" "CSG_Shape_Part_ZM *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Part_ZM * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Part_ZM_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Part_ZM, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Destroy" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_is_Valid" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Add_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Add_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Add_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (int)(arg1)->Add_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Add_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Points_Add_Point__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Add_Point__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Add_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Point(CSG_Shape_Points *,double,double,int)\n"
+-    "    Add_Point(CSG_Shape_Points *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Ins_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Points_Ins_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Ins_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Ins_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Ins_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Ins_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Ins_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Ins_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Points_Ins_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Ins_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Point(CSG_Shape_Points *,double,double,int,int)\n"
+-    "    Ins_Point(CSG_Shape_Points *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shape_Points_Set_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Set_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Set_Point" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Set_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Set_Point__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shape_Points_Set_Point__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Set_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Point(CSG_Shape_Points *,double,double,int,int)\n"
+-    "    Set_Point(CSG_Shape_Points *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Del_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Del_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Del_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Del_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (int)(arg1)->Del_Point(arg2,arg3);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Del_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Del_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Del_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Point(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Del_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Points_Del_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Del_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Del_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Point(CSG_Shape_Points *,int,int)\n"
+-    "    Del_Point(CSG_Shape_Points *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Del_Part(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Del_Part",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Del_Part" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Del_Part" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Part(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Del_Parts(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Del_Parts",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Del_Parts" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (int)(arg1)->Del_Parts();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Part_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_Part_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Part_Count" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (int)(arg1)->Get_Part_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Part(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape_Part *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_Part",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Part" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Part" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape_Part *)(arg1)->Get_Part(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape_Part, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_Point_Count",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Point_Count" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Point_Count" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Get_Point_Count(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Get_Point",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Get_Point" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (arg1)->Get_Point(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Point" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Point(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Points_Get_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Get_Point__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Get_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point(CSG_Shape_Points *,int,int)\n"
+-    "    Get_Point(CSG_Shape_Points *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Set_Z",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_Z(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Set_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_Z(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Points_Set_Z__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Set_Z__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Set_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Z(CSG_Shape_Points *,double,int,int)\n"
+-    "    Set_Z(CSG_Shape_Points *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Get_Z",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Get_Z" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Z(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Z" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Z(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Points_Get_Z__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Get_Z__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Get_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Z(CSG_Shape_Points *,int,int)\n"
+-    "    Get_Z(CSG_Shape_Points *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_ZMin" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_ZMax" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Set_M",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_M" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Set_M" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  (arg1)->Set_M(arg2,arg3,arg4);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  double arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Set_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Set_M" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Set_M" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Set_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  (arg1)->Set_M(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Set_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Points_Set_M__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Set_M__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Set_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_M(CSG_Shape_Points *,double,int,int)\n"
+-    "    Set_M(CSG_Shape_Points *,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_M__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Get_M",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_M" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Get_M" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_M(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_M__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_M",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_M" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Points_Get_M" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_M(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_M(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Points_Get_M__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Get_M__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Get_M'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_M(CSG_Shape_Points *,int,int)\n"
+-    "    Get_M(CSG_Shape_Points *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_MMin" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_MMax" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Points_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Extent" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Distance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Points_Get_Distance",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (double)(arg1)->Get_Distance(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Distance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  TSG_Point arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Distance(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Distance__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Points_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Distance__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Points *arg1 = (CSG_Shape_Points *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Points_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Points, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Points *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Points * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Points_Get_Distance" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Points_Get_Distance(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Points_Get_Distance__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Get_Distance__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Points_Get_Distance__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Points, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_SSG_Point, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Points_Get_Distance__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Points_Get_Distance'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Distance(CSG_Shape_Points *,TSG_Point)\n"
+-    "    Get_Distance(CSG_Shape_Points *,TSG_Point,int)\n"
+-    "    Get_Distance(CSG_Shape_Points *,TSG_Point,TSG_Point &)\n"
+-    "    Get_Distance(CSG_Shape_Points *,TSG_Point,TSG_Point &,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Points_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Points, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Line_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Line *arg1 = (CSG_Shape_Line *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Line_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Line, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Line_is_Valid" "', argument " "1"" of type '" "CSG_Shape_Line *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Line * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Line_Get_Length__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Line *arg1 = (CSG_Shape_Line *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Line_Get_Length",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Line, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Line_Get_Length" "', argument " "1"" of type '" "CSG_Shape_Line *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Line * >(argp1);
+-  result = (double)(arg1)->Get_Length();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Line_Get_Length__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Line *arg1 = (CSG_Shape_Line *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Line_Get_Length",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Line, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Line_Get_Length" "', argument " "1"" of type '" "CSG_Shape_Line *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Line * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Line_Get_Length" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Length(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Line_Get_Length(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Line, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Line_Get_Length__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Line, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Line_Get_Length__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Line_Get_Length'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Length(CSG_Shape_Line *)\n"
+-    "    Get_Length(CSG_Shape_Line *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Line_Get_Distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Line *arg1 = (CSG_Shape_Line *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Line_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Line, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Line *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Line * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Line_Get_Distance" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Line_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Line, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_is_Clockwise(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Part_is_Clockwise",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_is_Clockwise" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  result = (bool)(arg1)->is_Clockwise();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_Get_Perimeter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Part_Get_Perimeter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_Get_Perimeter" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  result = (double)(arg1)->Get_Perimeter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_Get_Area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Part_Get_Area",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_Get_Area" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  result = (double)(arg1)->Get_Area();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_Get_Centroid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Part_Get_Centroid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_Get_Centroid" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  result = (TSG_Point *) &(arg1)->Get_Centroid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_is_Containing__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:CSG_Shape_Polygon_Part_is_Containing",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (bool)(arg1)->is_Containing((TSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_is_Containing__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Polygon_Part_is_Containing",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Polygon_Part_is_Containing" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->is_Containing(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_is_Containing(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Polygon_Part_is_Containing__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon_Part, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Polygon_Part_is_Containing__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Polygon_Part_is_Containing'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Containing(CSG_Shape_Polygon_Part *,TSG_Point const &)\n"
+-    "    is_Containing(CSG_Shape_Polygon_Part *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Part_Get_Distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon_Part *arg1 = (CSG_Shape_Polygon_Part *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Polygon_Part_Get_Distance",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Part_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Polygon_Part *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon_Part * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Polygon_Part_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_Part_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Polygon_Part_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_Part_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Polygon_Part_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Polygon_Part, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Valid" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Polygon_Part(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape_Polygon_Part *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Polygon_Get_Polygon_Part",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Polygon_Part" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_Get_Polygon_Part" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape_Polygon_Part *)(arg1)->Get_Polygon_Part(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape_Polygon_Part, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Lake(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  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:CSG_Shape_Polygon_is_Lake",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Lake" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_is_Lake" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->is_Lake(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Clockwise(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  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:CSG_Shape_Polygon_is_Clockwise",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Clockwise" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_is_Clockwise" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->is_Clockwise(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Perimeter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Polygon_Get_Perimeter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Perimeter" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_Get_Perimeter" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Perimeter(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Perimeter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Get_Perimeter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Perimeter" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  result = (double)(arg1)->Get_Perimeter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Perimeter(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Polygon_Get_Perimeter__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Polygon_Get_Perimeter__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Polygon_Get_Perimeter'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Perimeter(CSG_Shape_Polygon *,int)\n"
+-    "    Get_Perimeter(CSG_Shape_Polygon *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Area__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Polygon_Get_Area",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Area" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_Get_Area" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)(arg1)->Get_Area(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Area__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Get_Area",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Area" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  result = (double)(arg1)->Get_Area();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Area(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Polygon_Get_Area__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Polygon_Get_Area__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Polygon_Get_Area'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Area(CSG_Shape_Polygon *,int)\n"
+-    "    Get_Area(CSG_Shape_Polygon *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Centroid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shape_Polygon_Get_Centroid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Centroid" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_Get_Centroid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Centroid(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Centroid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shape_Polygon_Get_Centroid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Centroid" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  result = (arg1)->Get_Centroid();
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Centroid(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shape_Polygon_Get_Centroid__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shape_Polygon_Get_Centroid__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Polygon_Get_Centroid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Centroid(CSG_Shape_Polygon *,int)\n"
+-    "    Get_Centroid(CSG_Shape_Polygon *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Containing__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Polygon_is_Containing",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->is_Containing((TSG_Point const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Containing__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:CSG_Shape_Polygon_is_Containing",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (bool)(arg1)->is_Containing((TSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Containing__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Polygon_is_Containing",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->is_Containing(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Containing__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shape_Polygon_is_Containing",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shape_Polygon_is_Containing" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->is_Containing(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_is_Containing(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shape_Polygon_is_Containing__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shape_Polygon_is_Containing__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shape_Polygon_is_Containing__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shape_Polygon, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shape_Polygon_is_Containing__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shape_Polygon_is_Containing'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Containing(CSG_Shape_Polygon *,TSG_Point const &,int)\n"
+-    "    is_Containing(CSG_Shape_Polygon *,TSG_Point const &)\n"
+-    "    is_Containing(CSG_Shape_Polygon *,double,double,int)\n"
+-    "    is_Containing(CSG_Shape_Polygon *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shape_Polygon_Get_Distance(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape_Polygon *arg1 = (CSG_Shape_Polygon *) 0 ;
+-  TSG_Point arg2 ;
+-  TSG_Point *arg3 = 0 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shape_Polygon_Get_Distance",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape_Polygon, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "1"" of type '" "CSG_Shape_Polygon *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape_Polygon * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "3"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg3 = reinterpret_cast< TSG_Point * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shape_Polygon_Get_Distance" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (double)(arg1)->Get_Distance(arg2,*arg3,arg4);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shape_Polygon_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shape_Polygon, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Shapes")) SWIG_fail;
+-  result = (CSG_Shapes *)new CSG_Shapes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Shapes,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shapes *)new CSG_Shapes((CSG_Shapes const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Shapes *arg2 = 0 ;
+-  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:CSG_Shapes_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Shapes,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shapes * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Shapes const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Shapes *)new CSG_Shapes((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Shapes_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Table *arg3 = (CSG_Table *) 0 ;
+-  TSG_Vertex_Type arg4 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Shapes",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Shapes" "', argument " "3"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_CSG_Shapes" "', argument " "4"" of type '" "TSG_Vertex_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Vertex_Type >(val4);
+-  result = (CSG_Shapes *)new CSG_Shapes(arg1,(wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Table *arg3 = (CSG_Table *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Shapes",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Shapes" "', argument " "3"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table * >(argp3);
+-  result = (CSG_Shapes *)new CSG_Shapes(arg1,(wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Shapes",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Shapes *)new CSG_Shapes(arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Shapes",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_CSG_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  result = (CSG_Shapes *)new CSG_Shapes(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Shapes__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Shapes__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Shapes__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_new_CSG_Shapes__SWIG_6(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_new_CSG_Shapes__SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_new_CSG_Shapes__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_new_CSG_Shapes__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Shapes'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Shapes()\n"
+-    "    CSG_Shapes(CSG_Shapes const &)\n"
+-    "    CSG_Shapes(CSG_String const &)\n"
+-    "    CSG_Shapes(TSG_Shape_Type,wchar_t const *,CSG_Table *,TSG_Vertex_Type)\n"
+-    "    CSG_Shapes(TSG_Shape_Type,wchar_t const *,CSG_Table *)\n"
+-    "    CSG_Shapes(TSG_Shape_Type,wchar_t const *)\n"
+-    "    CSG_Shapes(TSG_Shape_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  CSG_Table *arg4 = (CSG_Table *) 0 ;
+-  TSG_Vertex_Type arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shapes_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shapes_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Shapes_Create" "', argument " "4"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg4 = reinterpret_cast< CSG_Table * >(argp4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Create" "', argument " "5"" of type '" "TSG_Vertex_Type""'");
+-  } 
+-  arg5 = static_cast< TSG_Vertex_Type >(val5);
+-  result = (bool)(arg1)->Create(arg2,(wchar_t const *)arg3,arg4,arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  CSG_Table *arg4 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shapes_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shapes_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Shapes_Create" "', argument " "4"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg4 = reinterpret_cast< CSG_Table * >(argp4);
+-  result = (bool)(arg1)->Create(arg2,(wchar_t const *)arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Shapes_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (bool)(arg1)->Create(arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  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:CSG_Shapes_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Create" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Create" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); 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_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Shapes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Create__SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Create__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Shapes_Create__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shapes_Create__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Shapes *,CSG_Shapes const &)\n"
+-    "    Create(CSG_Shapes *,CSG_String const &)\n"
+-    "    Create(CSG_Shapes *,TSG_Shape_Type,wchar_t const *,CSG_Table *,TSG_Vertex_Type)\n"
+-    "    Create(CSG_Shapes *,TSG_Shape_Type,wchar_t const *,CSG_Table *)\n"
+-    "    Create(CSG_Shapes *,TSG_Shape_Type,wchar_t const *)\n"
+-    "    Create(CSG_Shapes *,TSG_Shape_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Shapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Shapes" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Destroy" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_ObjectType" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_Shapes const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_Shapes_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Assign" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Save" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Shapes_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Save" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_Shapes *,CSG_String const &,int)\n"
+-    "    Save(CSG_Shapes *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_is_Valid" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (bool)((CSG_Shapes const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Shape_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Type" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (TSG_Shape_Type)((CSG_Shapes const *)arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Vertex_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Vertex_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_Vertex_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Vertex_Type" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (TSG_Vertex_Type)((CSG_Shapes const *)arg1)->Get_Vertex_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Extent" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_ZMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_ZMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_ZMin" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (double)(arg1)->Get_ZMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_ZMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_ZMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_ZMax" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (double)(arg1)->Get_ZMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_MMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_MMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_MMin" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (double)(arg1)->Get_MMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_MMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_MMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_MMax" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (double)(arg1)->Get_MMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Add_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  TSG_ADD_Shape_Copy_Mode arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Add_Shape",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Add_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Add_Shape" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Add_Shape" "', argument " "3"" of type '" "TSG_ADD_Shape_Copy_Mode""'");
+-  } 
+-  arg3 = static_cast< TSG_ADD_Shape_Copy_Mode >(val3);
+-  result = (CSG_Shape *)(arg1)->Add_Shape(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Add_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Add_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Add_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Add_Shape" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (CSG_Shape *)(arg1)->Add_Shape(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Add_Shape__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Add_Shape",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Add_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shape *)(arg1)->Add_Shape();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Add_Shape(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shapes_Add_Shape__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Add_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Add_Shape__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Add_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Shape(CSG_Shapes *,CSG_Table_Record *,TSG_ADD_Shape_Copy_Mode)\n"
+-    "    Add_Shape(CSG_Shapes *,CSG_Table_Record *)\n"
+-    "    Add_Shape(CSG_Shapes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Del_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  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:CSG_Shapes_Del_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Del_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Del_Shape" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Shape(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Del_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_Shapes_Del_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Del_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Del_Shape" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)(arg1)->Del_Shape(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Del_Shape(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Del_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Del_Shape__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Del_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Shape(CSG_Shapes *,int)\n"
+-    "    Del_Shape(CSG_Shapes *,CSG_Shape *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Del_Shapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Del_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Del_Shapes" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (bool)(arg1)->Del_Shapes();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Point arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Get_Shape",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Get_Shape" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (CSG_Shape *)(arg1)->Get_Shape(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Get_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Shape" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (CSG_Shape *)(arg1)->Get_Shape(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Shape__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Get_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Shape" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Get_Shape" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape *)((CSG_Shapes const *)arg1)->Get_Shape(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Shape(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Get_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Get_Shape__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Get_Shape__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Get_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Shape(CSG_Shapes *,TSG_Point,double)\n"
+-    "    Get_Shape(CSG_Shapes *,TSG_Point)\n"
+-    "    Get_Shape(CSG_Shapes const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Shape_byIndex(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Get_Shape_byIndex",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Shape_byIndex" "', argument " "1"" of type '" "CSG_Shapes const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Get_Shape_byIndex" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape *)((CSG_Shapes const *)arg1)->Get_Shape_byIndex(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Make_Clean(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Make_Clean",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Make_Clean" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (bool)(arg1)->Make_Clean();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Selection__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Get_Selection",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Selection" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Get_Selection" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape *)(arg1)->Get_Selection(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Selection__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Selection" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shape *)(arg1)->Get_Selection();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Selection(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shapes_Get_Selection__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Get_Selection__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Get_Selection'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Selection(CSG_Shapes *,int)\n"
+-    "    Get_Selection(CSG_Shapes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Get_Selection_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Get_Selection_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Get_Selection_Extent" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Selection_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_Shapes_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Select",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (bool)(arg1)->Select();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Rect arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Rect""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Rect""'");
+-    } else {
+-      TSG_Rect * temp = reinterpret_cast< TSG_Rect * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Rect arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Rect""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Rect""'");
+-    } else {
+-      TSG_Rect * temp = reinterpret_cast< TSG_Rect * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Point arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Select" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_Select" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Select(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Shapes_Select__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Select__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Select__SWIG_4(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Shapes_Select__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Select__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Select__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Shapes_Select__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Select'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select(CSG_Shapes *,CSG_Shape *,bool)\n"
+-    "    Select(CSG_Shapes *,CSG_Shape *)\n"
+-    "    Select(CSG_Shapes *)\n"
+-    "    Select(CSG_Shapes *,TSG_Rect,bool)\n"
+-    "    Select(CSG_Shapes *,TSG_Rect)\n"
+-    "    Select(CSG_Shapes *,TSG_Point,bool)\n"
+-    "    Select(CSG_Shapes *,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shapes_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shapes, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Create_Shapes")) SWIG_fail;
+-  result = (CSG_Shapes *)SG_Create_Shapes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Shapes,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "CSG_Shapes const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shapes *)SG_Create_Shapes((CSG_Shapes const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Shapes *)SG_Create_Shapes((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Table *arg3 = (CSG_Table *) 0 ;
+-  TSG_Vertex_Type arg4 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:SG_Create_Shapes",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Create_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Create_Shapes" "', argument " "3"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table * >(argp3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "SG_Create_Shapes" "', argument " "4"" of type '" "TSG_Vertex_Type""'");
+-  } 
+-  arg4 = static_cast< TSG_Vertex_Type >(val4);
+-  result = (CSG_Shapes *)SG_Create_Shapes(arg1,(wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Table *arg3 = (CSG_Table *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:SG_Create_Shapes",&obj0,&obj1,&obj2)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Create_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "SG_Create_Shapes" "', argument " "3"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table * >(argp3);
+-  result = (CSG_Shapes *)SG_Create_Shapes(arg1,(wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:SG_Create_Shapes",&obj0,&obj1)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SG_Create_Shapes" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Shapes *)SG_Create_Shapes(arg1,(wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Shape_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Shapes",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Shape_Type >(val1);
+-  result = (CSG_Shapes *)SG_Create_Shapes(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_Shapes" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shapes *)SG_Create_Shapes(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_Shapes(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Create_Shapes__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Shapes__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Shapes__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_Shapes__SWIG_7(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      return _wrap_SG_Create_Shapes__SWIG_6(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_SG_Create_Shapes__SWIG_5(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_SG_Create_Shapes__SWIG_4(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    {
+-      int res = SWIG_AsVal_int(argv[0], NULL);
+-      _v = SWIG_CheckState(res);
+-    }
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_SG_Create_Shapes__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Create_Shapes'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Create_Shapes()\n"
+-    "    SG_Create_Shapes(CSG_Shapes const &)\n"
+-    "    SG_Create_Shapes(CSG_String const &)\n"
+-    "    SG_Create_Shapes(TSG_Shape_Type,wchar_t const *,CSG_Table *,TSG_Vertex_Type)\n"
+-    "    SG_Create_Shapes(TSG_Shape_Type,wchar_t const *,CSG_Table *)\n"
+-    "    SG_Create_Shapes(TSG_Shape_Type,wchar_t const *)\n"
+-    "    SG_Create_Shapes(TSG_Shape_Type)\n"
+-    "    SG_Create_Shapes(CSG_Shapes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_is_Leaf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_is_Leaf",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_is_Leaf" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (bool)((CSG_PRQuadTree_Item const *)arg1)->is_Leaf();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_is_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_is_Node",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_is_Node" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (bool)((CSG_PRQuadTree_Item const *)arg1)->is_Node();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_Extent" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = ((CSG_PRQuadTree_Item const *)arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj((new CSG_Rect(static_cast< const CSG_Rect& >(result))), SWIGTYPE_p_CSG_Rect, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_xMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_xMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_xMin" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_xMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_yMin(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_yMin",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_yMin" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_yMin();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_xCenter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_xCenter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_xCenter" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_xCenter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_yCenter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_yCenter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_yCenter" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_yCenter();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_xMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_xMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_xMax" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_xMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_yMax(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_yMax",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_yMax" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_yMax();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Get_Size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_Get_Size",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Get_Size" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Item const *)arg1)->Get_Size();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_Contains(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PRQuadTree_Item_Contains",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_Contains" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Item_Contains" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Item_Contains" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)((CSG_PRQuadTree_Item const *)arg1)->Contains(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_asLeaf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PRQuadTree_Leaf *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_asLeaf",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_asLeaf" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (CSG_PRQuadTree_Leaf *)((CSG_PRQuadTree_Item const *)arg1)->asLeaf();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Item_asNode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PRQuadTree_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Item_asNode",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Item_asNode" "', argument " "1"" of type '" "CSG_PRQuadTree_Item const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  result = (CSG_PRQuadTree_Node *)((CSG_PRQuadTree_Item const *)arg1)->asNode();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_PRQuadTree_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Item *arg1 = (CSG_PRQuadTree_Item *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_PRQuadTree_Item",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Item, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_PRQuadTree_Item" "', argument " "1"" of type '" "CSG_PRQuadTree_Item *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Item * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_PRQuadTree_Item_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_PRQuadTree_Item, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Leaf_is_Leaf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Leaf_is_Leaf",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Leaf_is_Leaf" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  result = (bool)((CSG_PRQuadTree_Leaf const *)arg1)->is_Leaf();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Leaf_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Leaf_Get_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Leaf_Get_Point" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  result = (TSG_Point *) &((CSG_PRQuadTree_Leaf const *)arg1)->Get_Point();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Leaf_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Leaf_Get_X",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Leaf_Get_X" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Leaf const *)arg1)->Get_X();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Leaf_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Leaf_Get_Y",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Leaf_Get_Y" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Leaf const *)arg1)->Get_Y();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Leaf_Get_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Leaf_Get_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Leaf_Get_Z" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  result = (double)((CSG_PRQuadTree_Leaf const *)arg1)->Get_Z();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_PRQuadTree_Leaf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Leaf *arg1 = (CSG_PRQuadTree_Leaf *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_PRQuadTree_Leaf",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Leaf, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_PRQuadTree_Leaf" "', argument " "1"" of type '" "CSG_PRQuadTree_Leaf *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Leaf * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_PRQuadTree_Leaf_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_PRQuadTree_Leaf, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Node_is_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Node *arg1 = (CSG_PRQuadTree_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Node_is_Node",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Node_is_Node" "', argument " "1"" of type '" "CSG_PRQuadTree_Node const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Node * >(argp1);
+-  result = (bool)((CSG_PRQuadTree_Node const *)arg1)->is_Node();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Node_Get_Child(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Node *arg1 = (CSG_PRQuadTree_Node *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_PRQuadTree_Item *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PRQuadTree_Node_Get_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Node_Get_Child" "', argument " "1"" of type '" "CSG_PRQuadTree_Node const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Node * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Node_Get_Child" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_PRQuadTree_Item *)((CSG_PRQuadTree_Node const *)arg1)->Get_Child(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree_Item, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Node_Add_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree_Node *arg1 = (CSG_PRQuadTree_Node *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PRQuadTree_Node_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Node_Add_Point" "', argument " "1"" of type '" "CSG_PRQuadTree_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree_Node * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Node_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Node_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PRQuadTree_Node_Add_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_PRQuadTree_Node_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_PRQuadTree_Node, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PRQuadTree__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_PRQuadTree")) SWIG_fail;
+-  result = (CSG_PRQuadTree *)new CSG_PRQuadTree();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PRQuadTree__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Rect *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PRQuadTree *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_PRQuadTree",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_PRQuadTree" "', argument " "1"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_PRQuadTree" "', argument " "1"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< TSG_Rect * >(argp1);
+-  result = (CSG_PRQuadTree *)new CSG_PRQuadTree((TSG_Rect const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PRQuadTree__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_PRQuadTree *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_PRQuadTree",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_PRQuadTree" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_PRQuadTree" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_PRQuadTree *)new CSG_PRQuadTree(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PRQuadTree(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 == 0) {
+-    return _wrap_new_CSG_PRQuadTree__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_SSG_Rect, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_PRQuadTree__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_new_CSG_PRQuadTree__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_PRQuadTree'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_PRQuadTree()\n"
+-    "    CSG_PRQuadTree(TSG_Rect const &)\n"
+-    "    CSG_PRQuadTree(CSG_Shapes *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_PRQuadTree(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_PRQuadTree",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_PRQuadTree" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  CSG_Rect *arg2 = 0 ;
+-  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:CSG_PRQuadTree_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Create" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PRQuadTree_Create" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Create" "', argument " "2"" of type '" "CSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Rect * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  CSG_Shapes *arg2 = (CSG_Shapes *) 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PRQuadTree_Create",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Create" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PRQuadTree_Create" "', argument " "2"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shapes * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Create" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Create(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PRQuadTree, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PRQuadTree_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PRQuadTree, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PRQuadTree_Create__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PRQuadTree_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_PRQuadTree *,CSG_Rect const &)\n"
+-    "    Create(CSG_PRQuadTree *,CSG_Shapes *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Destroy" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Add_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PRQuadTree_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Add_Point" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PRQuadTree_Add_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Get_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Get_Point_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Get_Point_Count" "', argument " "1"" of type '" "CSG_PRQuadTree const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  result = (int)((CSG_PRQuadTree const *)arg1)->Get_Point_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Get_Root(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PRQuadTree_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Get_Root",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Get_Root" "', argument " "1"" of type '" "CSG_PRQuadTree const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  result = (CSG_PRQuadTree_Node *) &((CSG_PRQuadTree const *)arg1)->Get_Root();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PRQuadTree_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_is_Okay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_is_Okay",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_is_Okay" "', argument " "1"" of type '" "CSG_PRQuadTree const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  result = (bool)((CSG_PRQuadTree const *)arg1)->is_Okay();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Get_Nearest_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  TSG_Point *arg4 = 0 ;
+-  double *arg5 = 0 ;
+-  double *arg6 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_PRQuadTree_Get_Nearest_Point",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "4"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg4 = reinterpret_cast< TSG_Point * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  arg5 = reinterpret_cast< double * >(argp5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  if (!argp6) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Nearest_Point" "', argument " "6"" of type '" "double &""'"); 
+-  }
+-  arg6 = reinterpret_cast< double * >(argp6);
+-  result = (bool)(arg1)->Get_Nearest_Point(arg2,arg3,*arg4,*arg5,*arg6);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_PRQuadTree_Select_Nearest_Points",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (int)(arg1)->Select_Nearest_Points(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  double arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  double val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_PRQuadTree_Select_Nearest_Points",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  ecode5 = SWIG_AsVal_double(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "5"" of type '" "double""'");
+-  } 
+-  arg5 = static_cast< double >(val5);
+-  result = (int)(arg1)->Select_Nearest_Points(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PRQuadTree_Select_Nearest_Points",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "1"" of type '" "CSG_PRQuadTree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PRQuadTree_Select_Nearest_Points" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (int)(arg1)->Select_Nearest_Points(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Select_Nearest_Points(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PRQuadTree, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PRQuadTree, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PRQuadTree, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_double(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_PRQuadTree_Select_Nearest_Points__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PRQuadTree_Select_Nearest_Points'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select_Nearest_Points(CSG_PRQuadTree *,double,double,int,double,int)\n"
+-    "    Select_Nearest_Points(CSG_PRQuadTree *,double,double,int,double)\n"
+-    "    Select_Nearest_Points(CSG_PRQuadTree *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Get_Selected_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PRQuadTree_Get_Selected_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Get_Selected_Count" "', argument " "1"" of type '" "CSG_PRQuadTree const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  result = (int)((CSG_PRQuadTree const *)arg1)->Get_Selected_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PRQuadTree_Get_Selected_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PRQuadTree *arg1 = (CSG_PRQuadTree *) 0 ;
+-  int arg2 ;
+-  double *arg3 = 0 ;
+-  double *arg4 = 0 ;
+-  double *arg5 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  void *argp5 = 0 ;
+-  int res5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_PRQuadTree_Get_Selected_Point",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PRQuadTree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "1"" of type '" "CSG_PRQuadTree const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PRQuadTree * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  res5 = SWIG_ConvertPtr(obj4, &argp5, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  if (!argp5) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PRQuadTree_Get_Selected_Point" "', argument " "5"" of type '" "double &""'"); 
+-  }
+-  arg5 = reinterpret_cast< double * >(argp5);
+-  result = (bool)((CSG_PRQuadTree const *)arg1)->Get_Selected_Point(arg2,*arg3,*arg4,*arg5);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_PRQuadTree_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_PRQuadTree, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes_Search__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Shapes_Search")) SWIG_fail;
+-  result = (CSG_Shapes_Search *)new CSG_Shapes_Search();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes_Search, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes_Search__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes_Search *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Shapes_Search",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Shapes_Search" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_Shapes_Search *)new CSG_Shapes_Search(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes_Search, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes_Search(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Shapes_Search__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Shapes_Search__SWIG_1(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Shapes_Search'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Shapes_Search()\n"
+-    "    CSG_Shapes_Search(CSG_Shapes *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Shapes_Search(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Shapes_Search",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Shapes_Search" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  CSG_Shapes *arg2 = (CSG_Shapes *) 0 ;
+-  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:CSG_Shapes_Search_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Create" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_Search_Create" "', argument " "2"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shapes * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Search_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Destroy" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Search_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_is_Valid" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Get_Point_Nearest__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Shapes_Search_Get_Point_Nearest",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (CSG_Shape *)(arg1)->Get_Point_Nearest(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Get_Point_Nearest__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shapes_Search_Get_Point_Nearest",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Get_Point_Nearest" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (CSG_Shape *)(arg1)->Get_Point_Nearest(arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Get_Point_Nearest(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_Shapes_Search_Get_Point_Nearest__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shapes_Search_Get_Point_Nearest__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Search_Get_Point_Nearest'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point_Nearest(CSG_Shapes_Search *,double,double)\n"
+-    "    Get_Point_Nearest(CSG_Shapes_Search *,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Radius__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  bool arg5 ;
+-  int arg6 ;
+-  int arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Shapes_Search_Select_Radius",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "7"" of type '" "int""'");
+-  } 
+-  arg7 = static_cast< int >(val7);
+-  result = (int)(arg1)->Select_Radius(arg2,arg3,arg4,arg5,arg6,arg7);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Radius__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  bool arg5 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Shapes_Search_Select_Radius",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (int)(arg1)->Select_Radius(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Radius__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  bool arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shapes_Search_Select_Radius",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (int)(arg1)->Select_Radius(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Radius__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Shapes_Search_Select_Radius",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Radius" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (int)(arg1)->Select_Radius(arg2,arg3,arg4);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Radius(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Shapes_Search_Select_Radius__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shapes_Search_Select_Radius__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Shapes_Search_Select_Radius__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Shapes_Search_Select_Radius__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Search_Select_Radius'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select_Radius(CSG_Shapes_Search *,double,double,double,bool,int,int)\n"
+-    "    Select_Radius(CSG_Shapes_Search *,double,double,double,bool,int)\n"
+-    "    Select_Radius(CSG_Shapes_Search *,double,double,double,bool)\n"
+-    "    Select_Radius(CSG_Shapes_Search *,double,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Quadrants__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Shapes_Search_Select_Quadrants",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (int)(arg1)->Select_Quadrants(arg2,arg3,arg4,arg5,arg6);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Quadrants__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  int arg5 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  int val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Shapes_Search_Select_Quadrants",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CSG_Shapes_Search_Select_Quadrants" "', argument " "5"" of type '" "int""'");
+-  } 
+-  arg5 = static_cast< int >(val5);
+-  result = (int)(arg1)->Select_Quadrants(arg2,arg3,arg4,arg5);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Select_Quadrants(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_CSG_Shapes_Search_Select_Quadrants__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes_Search, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_int(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Shapes_Search_Select_Quadrants__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Shapes_Search_Select_Quadrants'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select_Quadrants(CSG_Shapes_Search *,double,double,double,int,int)\n"
+-    "    Select_Quadrants(CSG_Shapes_Search *,double,double,double,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Get_Selected_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Shapes_Search_Get_Selected_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Get_Selected_Count" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  result = (int)(arg1)->Get_Selected_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_Search_Get_Selected_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_Search *arg1 = (CSG_Shapes_Search *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Shapes_Search_Get_Selected_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_Search, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_Search_Get_Selected_Point" "', argument " "1"" of type '" "CSG_Shapes_Search *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_Search * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Shapes_Search_Get_Selected_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape *)(arg1)->Get_Selected_Point(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shapes_Search_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shapes_Search, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Shapes_OGIS_Converter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_OGIS_Converter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Shapes_OGIS_Converter")) SWIG_fail;
+-  result = (CSG_Shapes_OGIS_Converter *)new CSG_Shapes_OGIS_Converter();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes_OGIS_Converter, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_OGIS_Converter_from_WKText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_Shapes_OGIS_Converter_from_WKText",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_OGIS_Converter_from_WKText" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_OGIS_Converter_from_WKText" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_OGIS_Converter_from_WKText" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)CSG_Shapes_OGIS_Converter::from_WKText((CSG_String const &)*arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_OGIS_Converter_to_WKText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Shapes_OGIS_Converter_to_WKText",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_OGIS_Converter_to_WKText" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_OGIS_Converter_to_WKText" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_OGIS_Converter_to_WKText" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)CSG_Shapes_OGIS_Converter::to_WKText(arg1,*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_OGIS_Converter_from_WKBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Bytes *arg1 = 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_Shapes_OGIS_Converter_from_WKBinary",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_Bytes,  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_OGIS_Converter_from_WKBinary" "', argument " "1"" of type '" "CSG_Bytes &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_OGIS_Converter_from_WKBinary" "', argument " "1"" of type '" "CSG_Bytes &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Bytes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_OGIS_Converter_from_WKBinary" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)CSG_Shapes_OGIS_Converter::from_WKBinary(*arg1,arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Shapes_OGIS_Converter_to_WKBinary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shape *arg1 = (CSG_Shape *) 0 ;
+-  CSG_Bytes *arg2 = 0 ;
+-  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:CSG_Shapes_OGIS_Converter_to_WKBinary",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Shapes_OGIS_Converter_to_WKBinary" "', argument " "1"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shape * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Bytes,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Shapes_OGIS_Converter_to_WKBinary" "', argument " "2"" of type '" "CSG_Bytes &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Shapes_OGIS_Converter_to_WKBinary" "', argument " "2"" of type '" "CSG_Bytes &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Bytes * >(argp2);
+-  result = (bool)CSG_Shapes_OGIS_Converter::to_WKBinary(arg1,*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Shapes_OGIS_Converter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes_OGIS_Converter *arg1 = (CSG_Shapes_OGIS_Converter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Shapes_OGIS_Converter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes_OGIS_Converter, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Shapes_OGIS_Converter" "', argument " "1"" of type '" "CSG_Shapes_OGIS_Converter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes_OGIS_Converter * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Shapes_OGIS_Converter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Shapes_OGIS_Converter, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_ID(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_ID",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_ID" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (int)(arg1)->Get_ID();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Point" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (TSG_Point *) &(arg1)->Get_Point();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SSG_Point, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_X(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_X",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_X" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (double)(arg1)->Get_X();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_Y",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Y" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (double)(arg1)->Get_Y();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Neighbor_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_Neighbor_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Neighbor_Count" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (int)(arg1)->Get_Neighbor_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Neighbor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Node_Get_Neighbor",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Neighbor" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Node_Get_Neighbor" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Node *)(arg1)->Get_Neighbor(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Gradient(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_TIN_Node_Get_Gradient",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Gradient" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Node_Get_Gradient" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_TIN_Node_Get_Gradient" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)(arg1)->Get_Gradient(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Triangle_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_Triangle_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Triangle_Count" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (int)(arg1)->Get_Triangle_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Triangle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Triangle *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Node_Get_Triangle",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Triangle" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Node_Get_Triangle" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Triangle *)(arg1)->Get_Triangle(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Polygon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  CSG_Points *arg2 = 0 ;
+-  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:CSG_TIN_Node_Get_Polygon",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Polygon" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Points,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Node_Get_Polygon" "', argument " "2"" of type '" "CSG_Points &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Node_Get_Polygon" "', argument " "2"" of type '" "CSG_Points &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Points * >(argp2);
+-  result = (bool)(arg1)->Get_Polygon(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Node_Get_Polygon_Area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Node *arg1 = (CSG_TIN_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Node_Get_Polygon_Area",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Node_Get_Polygon_Area" "', argument " "1"" of type '" "CSG_TIN_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Node * >(argp1);
+-  result = (double)(arg1)->Get_Polygon_Area();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_TIN_Node_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_TIN_Node, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Edge_Get_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Edge *arg1 = (CSG_TIN_Edge *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Edge_Get_Node",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Edge, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Edge_Get_Node" "', argument " "1"" of type '" "CSG_TIN_Edge *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Edge * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Edge_Get_Node" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Node *)(arg1)->Get_Node(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_TIN_Edge_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_TIN_Edge, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Triangle_Get_Node",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_Node" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Triangle_Get_Node" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Node *)(arg1)->Get_Node(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Triangle_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_Extent" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_Area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Triangle_Get_Area",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_Area" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  result = (double)(arg1)->Get_Area();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_is_Containing__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  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:CSG_TIN_Triangle_is_Containing",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "2"" of type '" "TSG_Point const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  result = (bool)(arg1)->is_Containing((TSG_Point const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_is_Containing__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_TIN_Triangle_is_Containing",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_TIN_Triangle_is_Containing" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->is_Containing(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_is_Containing(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN_Triangle, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_TIN_Triangle_is_Containing__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN_Triangle, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(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_CSG_TIN_Triangle_is_Containing__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_TIN_Triangle_is_Containing'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_Containing(CSG_TIN_Triangle *,TSG_Point const &)\n"
+-    "    is_Containing(CSG_TIN_Triangle *,double,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_Gradient(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  int arg2 ;
+-  double *arg3 = 0 ;
+-  double *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_TIN_Triangle_Get_Gradient",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Triangle_Get_Gradient" "', argument " "4"" of type '" "double &""'"); 
+-  }
+-  arg4 = reinterpret_cast< double * >(argp4);
+-  result = (bool)(arg1)->Get_Gradient(arg2,*arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_CircumCircle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  TSG_Point *arg2 = 0 ;
+-  double *arg3 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_TIN_Triangle_Get_CircumCircle",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_CircumCircle" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Triangle_Get_CircumCircle" "', argument " "2"" of type '" "TSG_Point &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Triangle_Get_CircumCircle" "', argument " "2"" of type '" "TSG_Point &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Point * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_TIN_Triangle_Get_CircumCircle" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Triangle_Get_CircumCircle" "', argument " "3"" of type '" "double &""'"); 
+-  }
+-  arg3 = reinterpret_cast< double * >(argp3);
+-  (arg1)->Get_CircumCircle(*arg2,*arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_CircumCircle_Radius(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Triangle_Get_CircumCircle_Radius",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_CircumCircle_Radius" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  result = (double)(arg1)->Get_CircumCircle_Radius();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Triangle_Get_CircumCircle_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN_Triangle *arg1 = (CSG_TIN_Triangle *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Triangle_Get_CircumCircle_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Triangle_Get_CircumCircle_Point" "', argument " "1"" of type '" "CSG_TIN_Triangle *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN_Triangle * >(argp1);
+-  result = (arg1)->Get_CircumCircle_Point();
+-  resultobj = SWIG_NewPointerObj((new TSG_Point(static_cast< const TSG_Point& >(result))), SWIGTYPE_p_SSG_Point, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_TIN_Triangle_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_TIN_Triangle, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_TIN__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_TIN")) SWIG_fail;
+-  result = (CSG_TIN *)new CSG_TIN();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_TIN__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_TIN,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_TIN" "', argument " "1"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_TIN" "', argument " "1"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (CSG_TIN *)new CSG_TIN((CSG_TIN const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_TIN *arg2 = 0 ;
+-  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:CSG_TIN_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Create" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_TIN,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Create" "', argument " "2"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Create" "', argument " "2"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_TIN * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_TIN const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_TIN__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_TIN" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_TIN *)new CSG_TIN(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_Shapes *arg2 = (CSG_Shapes *) 0 ;
+-  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:CSG_TIN_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Create" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Create" "', argument " "2"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shapes * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_TIN__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_TIN" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_TIN" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_TIN *)new CSG_TIN((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_TIN(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_TIN__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_TIN__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_TIN__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_TIN__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_TIN'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_TIN()\n"
+-    "    CSG_TIN(CSG_TIN const &)\n"
+-    "    CSG_TIN(CSG_Shapes *)\n"
+-    "    CSG_TIN(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_TIN_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Create" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Create(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_TIN, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_TIN_Create__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_TIN_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_TIN_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_TIN_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_TIN *,CSG_TIN const &)\n"
+-    "    Create(CSG_TIN *,CSG_Shapes *)\n"
+-    "    Create(CSG_TIN *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_TIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_TIN" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Destroy" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_ObjectType" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_TIN const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_TIN_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Assign" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_TIN_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Save" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_TIN_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_TIN_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Save" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_TIN_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_TIN_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_TIN_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_TIN *,CSG_String const &,int)\n"
+-    "    Save(CSG_TIN *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_is_Valid" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (bool)((CSG_TIN const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Get_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Extent" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Add_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  TSG_Point arg2 ;
+-  CSG_Table_Record *arg3 = (CSG_Table_Record *) 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_TIN_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_TIN_Add_Node",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Add_Node" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_TIN_Add_Node" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_TIN_Add_Node" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_TIN_Add_Node" "', argument " "3"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table_Record * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_TIN_Add_Node" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (CSG_TIN_Node *)(arg1)->Add_Node(arg2,arg3,arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Del_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_TIN_Del_Node",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Del_Node" "', argument " "1"" of type '" "CSG_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Del_Node" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_TIN_Del_Node" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Del_Node(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Node_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Get_Node_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Node_Count" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (int)((CSG_TIN const *)arg1)->Get_Node_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Get_Node",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Node" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Get_Node" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Node *)((CSG_TIN const *)arg1)->Get_Node(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Node, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Edge_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Get_Edge_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Edge_Count" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (int)((CSG_TIN const *)arg1)->Get_Edge_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Edge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Edge *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Get_Edge",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Edge" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Get_Edge" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Edge *)((CSG_TIN const *)arg1)->Get_Edge(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Edge, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Triangle_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_TIN_Get_Triangle_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Triangle_Count" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (int)((CSG_TIN const *)arg1)->Get_Triangle_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_TIN_Get_Triangle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = (CSG_TIN *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN_Triangle *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_TIN_Get_Triangle",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_TIN_Get_Triangle" "', argument " "1"" of type '" "CSG_TIN const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_TIN_Get_Triangle" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN_Triangle *)((CSG_TIN const *)arg1)->Get_Triangle(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN_Triangle, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_TIN_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_TIN, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_TIN__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Create_TIN")) SWIG_fail;
+-  result = (CSG_TIN *)SG_Create_TIN();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_TIN__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_TIN *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_TIN,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_TIN" "', argument " "1"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_TIN" "', argument " "1"" of type '" "CSG_TIN const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_TIN * >(argp1);
+-  result = (CSG_TIN *)SG_Create_TIN((CSG_TIN const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_TIN__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Shapes *arg1 = (CSG_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_TIN" "', argument " "1"" of type '" "CSG_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Shapes * >(argp1);
+-  result = (CSG_TIN *)SG_Create_TIN(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_TIN__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_TIN" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_TIN" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_TIN *)SG_Create_TIN((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_TIN(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Create_TIN__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_TIN, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_TIN__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Shapes, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_TIN__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_TIN__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Create_TIN'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Create_TIN()\n"
+-    "    SG_Create_TIN(CSG_TIN const &)\n"
+-    "    SG_Create_TIN(CSG_Shapes *)\n"
+-    "    SG_Create_TIN(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PointCloud__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_PointCloud")) SWIG_fail;
+-  result = (CSG_PointCloud *)new CSG_PointCloud();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Create" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Create();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PointCloud__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_PointCloud,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_PointCloud *)new CSG_PointCloud((CSG_PointCloud const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_PointCloud *arg2 = 0 ;
+-  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:CSG_PointCloud_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Create" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_PointCloud,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Create" "', argument " "2"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Create" "', argument " "2"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_PointCloud * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_PointCloud const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PointCloud__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_PointCloud" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_PointCloud" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_PointCloud *)new CSG_PointCloud((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_PointCloud_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Create" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PointCloud__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_PointCloud *)new CSG_PointCloud(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_PointCloud(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_PointCloud__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_PointCloud__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_PointCloud__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_PointCloud__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_PointCloud'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_PointCloud()\n"
+-    "    CSG_PointCloud(CSG_PointCloud const &)\n"
+-    "    CSG_PointCloud(CSG_String const &)\n"
+-    "    CSG_PointCloud(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Create__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_PointCloud *arg2 = (CSG_PointCloud *) 0 ;
+-  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:CSG_PointCloud_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Create" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Create" "', argument " "2"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_PointCloud * >(argp2);
+-  result = (bool)(arg1)->Create(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Create(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Create__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_PointCloud, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Create__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Create__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Create__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_PointCloud *)\n"
+-    "    Create(CSG_PointCloud *,CSG_PointCloud const &)\n"
+-    "    Create(CSG_PointCloud *,CSG_String const &)\n"
+-    "    Create(CSG_PointCloud *,CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_PointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Destroy" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_ObjectType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_ObjectType",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_ObjectType" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (TSG_Data_Object_Type)((CSG_PointCloud const *)arg1)->Get_ObjectType();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_PointCloud_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Assign" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Assign" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Save__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Save",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Save" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Save" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Save__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_PointCloud_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Save" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Save" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Save((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Save(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Save__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Save__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Save'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Save(CSG_PointCloud *,CSG_String const &,int)\n"
+-    "    Save(CSG_PointCloud *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_XYZ_Precision(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Set_XYZ_Precision",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_XYZ_Precision" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_XYZ_Precision" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_XYZ_Precision(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_is_Valid" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)((CSG_PointCloud const *)arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_Compatible(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_PointCloud *arg2 = (CSG_PointCloud *) 0 ;
+-  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:CSG_PointCloud_is_Compatible",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_is_Compatible" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_is_Compatible" "', argument " "2"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_PointCloud * >(argp2);
+-  result = (bool)((CSG_PointCloud const *)arg1)->is_Compatible(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Field__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Add_Field",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Field" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Field" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PointCloud_Add_Field" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Add_Field((wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Field__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Add_Field",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Field" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Field" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Add_Field((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Field__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Add_Field",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Field" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Field" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PointCloud_Add_Field" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Add_Field((char const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Field__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Add_Field",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Field" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Field" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Field" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (bool)(arg1)->Add_Field((char const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Field(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Add_Field__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Add_Field__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Add_Field__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Add_Field__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Add_Field'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Field(CSG_PointCloud *,wchar_t const *,TSG_Data_Type,int)\n"
+-    "    Add_Field(CSG_PointCloud *,wchar_t const *,TSG_Data_Type)\n"
+-    "    Add_Field(CSG_PointCloud *,char const *,TSG_Data_Type,int)\n"
+-    "    Add_Field(CSG_PointCloud *,char const *,TSG_Data_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Field(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Del_Field",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Field" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Del_Field" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Field(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Attribute_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Attribute_Count" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (int)((CSG_PointCloud const *)arg1)->Get_Attribute_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Attribute_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Attribute_Name" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Attribute_Name" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)((CSG_PointCloud const *)arg1)->Get_Attribute_Name(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Data_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Attribute_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Attribute_Type" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Attribute_Type" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (TSG_Data_Type)((CSG_PointCloud const *)arg1)->Get_Attribute_Type(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Add_Point",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Point" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Add_Point" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Point" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PointCloud_Add_Point" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Add_Point(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Point(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Del_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Point" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Del_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Point(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Points(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Del_Points",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Points" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Del_Points();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Point_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Point_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Point_Count" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (int)((CSG_PointCloud const *)arg1)->Get_Point_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Cursor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Set_Cursor",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Cursor" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Cursor" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Cursor(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Set_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Value" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_Value" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Value" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Value(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_X__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_X",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_X" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_X();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Y__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Y",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Y" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Y();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Z__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Z",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Z" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Z();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Attribute__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Set_Attribute",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Attribute(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Attribute",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Attribute" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Attribute" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Attribute(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Set_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_NoData" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_NoData(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_NoData__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_is_NoData",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_is_NoData" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_is_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)((CSG_PointCloud const *)arg1)->is_NoData(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Value" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PointCloud_Set_Value" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Get_Value",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Value" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Value(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_X__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_X",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_X" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_X" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_X(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_X(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Get_X__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_X__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_X'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_X(CSG_PointCloud const *)\n"
+-    "    Get_X(CSG_PointCloud const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Y__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Y",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Y" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Y" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Y(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Y(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Get_Y__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Y__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Y'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Y(CSG_PointCloud const *)\n"
+-    "    Get_Y(CSG_PointCloud const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Z__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Z",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Z" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Z" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Z(arg2);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Z(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Get_Z__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Z__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Z'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Z(CSG_PointCloud const *)\n"
+-    "    Get_Z(CSG_PointCloud const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Attribute__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Set_Attribute",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_PointCloud_Set_Attribute" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Attribute(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Attribute(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Set_Attribute__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Set_Attribute__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Set_Attribute'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Attribute(CSG_PointCloud *,int,double)\n"
+-    "    Set_Attribute(CSG_PointCloud *,int,int,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Get_Attribute",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Attribute" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Attribute" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Get_Attribute" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (double)((CSG_PointCloud const *)arg1)->Get_Attribute(arg2,arg3);
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Attribute(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Attribute__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Get_Attribute__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Attribute'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Attribute(CSG_PointCloud const *,int)\n"
+-    "    Get_Attribute(CSG_PointCloud const *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Set_NoData",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_NoData" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_NoData" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Set_NoData(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_NoData(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Set_NoData__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Set_NoData__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Set_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_NoData(CSG_PointCloud *,int)\n"
+-    "    Set_NoData(CSG_PointCloud *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_NoData__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_is_NoData",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_is_NoData" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_is_NoData" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_is_NoData" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)((CSG_PointCloud const *)arg1)->is_NoData(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_NoData(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_is_NoData__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_is_NoData__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_is_NoData'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    is_NoData(CSG_PointCloud const *,int)\n"
+-    "    is_NoData(CSG_PointCloud const *,int,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Set_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Value" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Set_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_PointCloud_Set_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (bool)(arg1)->Set_Value(arg2,arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Set_Value__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Set_Value__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Set_Value__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_PointCloud *,int,double)\n"
+-    "    Set_Value(CSG_PointCloud *,int,int,double)\n"
+-    "    Set_Value(CSG_PointCloud *,int,int,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  CSG_String *arg4 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  void *argp4 = 0 ;
+-  int res4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_PointCloud_Get_Value",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Value" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Get_Value" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_PointCloud_Get_Value" "', argument " "4"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp4) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Get_Value" "', argument " "4"" of type '" "CSG_String &""'"); 
+-  }
+-  arg4 = reinterpret_cast< CSG_String * >(argp4);
+-  result = (bool)((CSG_PointCloud const *)arg1)->Get_Value(arg2,arg3,*arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Get_Value__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *vptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_CSG_String, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_PointCloud_Get_Value__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Value(CSG_PointCloud const *,int)\n"
+-    "    Get_Value(CSG_PointCloud const *,int,int)\n"
+-    "    Get_Value(CSG_PointCloud const *,int,int,CSG_String &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Point__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Point_Z result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Point",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Point" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = ((CSG_PointCloud const *)arg1)->Get_Point();
+-  resultobj = SWIG_NewPointerObj((new TSG_Point_Z(static_cast< const TSG_Point_Z& >(result))), SWIGTYPE_p_SSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Point__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  TSG_Point_Z result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Point",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Point" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Point" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = ((CSG_PointCloud const *)arg1)->Get_Point(arg2);
+-  resultobj = SWIG_NewPointerObj((new TSG_Point_Z(static_cast< const TSG_Point_Z& >(result))), SWIGTYPE_p_SSG_Point_Z, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Point(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Get_Point__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Point__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Point'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Point(CSG_PointCloud const *)\n"
+-    "    Get_Point(CSG_PointCloud const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Modified__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Set_Modified",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Modified" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Set_Modified" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Modified(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Modified__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Set_Modified",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Set_Modified" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  (arg1)->Set_Modified();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Set_Modified(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Set_Modified__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Set_Modified__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Set_Modified'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Modified(CSG_PointCloud *,bool)\n"
+-    "    Set_Modified(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Record(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Record" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)((CSG_PointCloud const *)arg1)->Get_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Point arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Get_Shape",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Get_Shape" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (CSG_Shape *)(arg1)->Get_Shape(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Get_Shape" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (CSG_Shape *)(arg1)->Get_Shape(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Shape(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_double(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Get_Shape__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Shape(CSG_PointCloud *,TSG_Point,double)\n"
+-    "    Get_Shape(CSG_PointCloud *,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Record(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Del_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Record" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Del_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Record(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Del_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Del_Shape" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Shape(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Records(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Del_Records",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Records" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Del_Records();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Shapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Del_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Shapes" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Del_Shapes();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Ins_Record__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  CSG_Table_Record *arg3 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Ins_Record",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Ins_Record" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Ins_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_PointCloud_Ins_Record" "', argument " "3"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Table_Record * >(argp3);
+-  result = (CSG_Table_Record *)(arg1)->Ins_Record(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Ins_Record__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Ins_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Ins_Record" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Ins_Record" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table_Record *)(arg1)->Ins_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Ins_Record(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Ins_Record__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Ins_Record__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Ins_Record'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Ins_Record(CSG_PointCloud *,int,CSG_Table_Record *)\n"
+-    "    Ins_Record(CSG_PointCloud *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Record__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Add_Record",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Record" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Record" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (CSG_Table_Record *)(arg1)->Add_Record(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Record__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table_Record *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Add_Record",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Record" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_Table_Record *)(arg1)->Add_Record();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Record(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Add_Record__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Add_Record__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Add_Record'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Record(CSG_PointCloud *,CSG_Table_Record *)\n"
+-    "    Add_Record(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Shape__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  TSG_ADD_Shape_Copy_Mode arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Add_Shape",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "3"" of type '" "TSG_ADD_Shape_Copy_Mode""'");
+-  } 
+-  arg3 = static_cast< TSG_ADD_Shape_Copy_Mode >(val3);
+-  result = (CSG_Shape *)(arg1)->Add_Shape(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Table_Record *arg2 = (CSG_Table_Record *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Add_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Table_Record, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "2"" of type '" "CSG_Table_Record *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Table_Record * >(argp2);
+-  result = (CSG_Shape *)(arg1)->Add_Shape(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Shape__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Add_Shape",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Add_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_Shape *)(arg1)->Add_Shape();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Add_Shape(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Add_Shape__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Add_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Table_Record, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Add_Shape__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Add_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Shape(CSG_PointCloud *,CSG_Table_Record *,TSG_ADD_Shape_Copy_Mode)\n"
+-    "    Add_Shape(CSG_PointCloud *,CSG_Table_Record *)\n"
+-    "    Add_Shape(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Shape__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_PointCloud_Del_Shape",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Shape" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Del_Shape" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)(arg1)->Del_Shape(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Shape(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Del_Shape__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Del_Shape__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Del_Shape'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Shape(CSG_PointCloud *,int)\n"
+-    "    Del_Shape(CSG_PointCloud *,CSG_Shape *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  CSG_Shape *arg2 = (CSG_Shape *) 0 ;
+-  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:CSG_PointCloud_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "CSG_Shape *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Shape * >(argp2);
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Select",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (bool)(arg1)->Select();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Rect arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Rect""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Rect""'");
+-    } else {
+-      TSG_Rect * temp = reinterpret_cast< TSG_Rect * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Rect arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Rect""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Rect""'");
+-    } else {
+-      TSG_Rect * temp = reinterpret_cast< TSG_Rect * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Point arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_PointCloud_Select",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_PointCloud_Select" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Select(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  TSG_Point arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Select",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Select" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_PointCloud_Select" "', argument " "2"" of type '" "TSG_Point""'");
+-    } else {
+-      TSG_Point * temp = reinterpret_cast< TSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  result = (bool)(arg1)->Select(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Select(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Select__SWIG_4(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Select__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Select__SWIG_6(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Select__SWIG_8(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Select__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Select__SWIG_5(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Point, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Select__SWIG_7(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Shape, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Select__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_PointCloud_Select__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Select'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Select(CSG_PointCloud *,int,bool)\n"
+-    "    Select(CSG_PointCloud *,int)\n"
+-    "    Select(CSG_PointCloud *,CSG_Shape *,bool)\n"
+-    "    Select(CSG_PointCloud *,CSG_Shape *)\n"
+-    "    Select(CSG_PointCloud *)\n"
+-    "    Select(CSG_PointCloud *,TSG_Rect,bool)\n"
+-    "    Select(CSG_PointCloud *,TSG_Rect)\n"
+-    "    Select(CSG_PointCloud *,TSG_Point,bool)\n"
+-    "    Select(CSG_PointCloud *,TSG_Point)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_is_Selected(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  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:CSG_PointCloud_is_Selected",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_is_Selected" "', argument " "1"" of type '" "CSG_PointCloud const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_is_Selected" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)((CSG_PointCloud const *)arg1)->is_Selected(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Del_Selection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Del_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Del_Selection" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (int)(arg1)->Del_Selection();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Inv_Selection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Inv_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Inv_Selection" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (int)(arg1)->Inv_Selection();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Selection__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_PointCloud_Get_Selection",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Selection" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_PointCloud_Get_Selection" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shape *)(arg1)->Get_Selection(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Selection__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shape *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Selection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Selection" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_Shape *)(arg1)->Get_Selection();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shape, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Selection(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_PointCloud_Get_Selection__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_PointCloud_Get_Selection__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_PointCloud_Get_Selection'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Selection(CSG_PointCloud *,int)\n"
+-    "    Get_Selection(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_PointCloud_Get_Selection_Extent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Rect *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_PointCloud_Get_Selection_Extent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_PointCloud_Get_Selection_Extent" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_Rect *) &(arg1)->Get_Selection_Extent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Rect, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_PointCloud_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_PointCloud, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_PointCloud__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SG_Create_PointCloud")) SWIG_fail;
+-  result = (CSG_PointCloud *)SG_Create_PointCloud();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_PointCloud__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_PointCloud,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_PointCloud *)SG_Create_PointCloud((CSG_PointCloud const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_PointCloud__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_PointCloud" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SG_Create_PointCloud" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_PointCloud *)SG_Create_PointCloud((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_PointCloud__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_PointCloud *arg1 = (CSG_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Create_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SG_Create_PointCloud" "', argument " "1"" of type '" "CSG_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_PointCloud * >(argp1);
+-  result = (CSG_PointCloud *)SG_Create_PointCloud(arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Create_PointCloud(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_SG_Create_PointCloud__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_PointCloud__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_PointCloud__SWIG_2(self, args);
+-    }
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_PointCloud, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_SG_Create_PointCloud__SWIG_3(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'SG_Create_PointCloud'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    SG_Create_PointCloud()\n"
+-    "    SG_Create_PointCloud(CSG_PointCloud const &)\n"
+-    "    SG_Create_PointCloud(CSG_String const &)\n"
+-    "    SG_Create_PointCloud(CSG_PointCloud *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Parameter_Type_Get_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Parameter_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Parameter_Type_Get_Identifier",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Parameter_Type_Get_Identifier" "', argument " "1"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Parameter_Type >(val1);
+-  result = (wchar_t *)SG_Parameter_Type_Get_Identifier(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_SG_Parameter_Type_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  TSG_Parameter_Type arg1 ;
+-  int val1 ;
+-  int ecode1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:SG_Parameter_Type_Get_Name",&obj0)) SWIG_fail;
+-  ecode1 = SWIG_AsVal_int(obj0, &val1);
+-  if (!SWIG_IsOK(ecode1)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SG_Parameter_Type_Get_Name" "', argument " "1"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg1 = static_cast< TSG_Parameter_Type >(val1);
+-  result = (wchar_t *)SG_Parameter_Type_Get_Name(arg1);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Data" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Get_Type_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Get_Type_Identifier",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Get_Type_Identifier" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Type_Identifier();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Get_Type_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Get_Type_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Get_Type_Name" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Type_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Get_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Get_Constraint",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Get_Constraint" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (long)(arg1)->Get_Constraint();
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_is_Valid" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  CSG_Parameter_Data *arg2 = (CSG_Parameter_Data *) 0 ;
+-  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:CSG_Parameter_Data_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Assign" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Assign" "', argument " "2"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter_Data * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Serialize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Data_Serialize",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Serialize" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_Data_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Data_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Serialize(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Data_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Data_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Data *,int)\n"
+-    "    Set_Value(CSG_Parameter_Data *,double)\n"
+-    "    Set_Value(CSG_Parameter_Data *,void *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_asInt" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_asDouble" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (double)(arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_asString" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Get_Default(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Get_Default",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Get_Default" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  result = (arg1)->Get_Default();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Default__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  (arg1)->Set_Default(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Default__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Default(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Default__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data *arg1 = (CSG_Parameter_Data *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "1"" of type '" "CSG_Parameter_Data *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Set_Default" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Default((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Set_Default(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Default__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Default__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Set_Default__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Data_Set_Default'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Default(CSG_Parameter_Data *,int)\n"
+-    "    Set_Default(CSG_Parameter_Data *,double)\n"
+-    "    Set_Default(CSG_Parameter_Data *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Data_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Data, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Node *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Node",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Node" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Node" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Node *)new CSG_Parameter_Node(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Node, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Node(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Node *arg1 = (CSG_Parameter_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Node",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Node, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Node" "', argument " "1"" of type '" "CSG_Parameter_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Node * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Node_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Node *arg1 = (CSG_Parameter_Node *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Node_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Node, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Node_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Node *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Node * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Node_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Node, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Bool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Bool *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Bool",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Bool" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Bool" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Bool *)new CSG_Parameter_Bool(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Bool, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Bool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Bool",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Bool" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Bool_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Bool_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Bool_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Bool_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Bool_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Bool_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Bool_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Bool_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Bool, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Bool_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Bool, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Bool_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Bool_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Bool *,int)\n"
+-    "    Set_Value(CSG_Parameter_Bool *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Bool_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Bool_asInt" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Bool_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Bool *arg1 = (CSG_Parameter_Bool *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Bool_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Bool, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Bool_asString" "', argument " "1"" of type '" "CSG_Parameter_Bool *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Bool * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Bool_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Bool, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Value",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Value" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Value_Set_Range",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Set_Range" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Value_Set_Range" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Value_Set_Range" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Range(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Minimum__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Value_Set_Minimum",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Set_Minimum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Value_Set_Minimum" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Value_Set_Minimum" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Set_Minimum(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Minimum__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Value_Set_Minimum",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Set_Minimum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Value_Set_Minimum" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Minimum(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Minimum(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Value_Set_Minimum__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameter_Value_Set_Minimum__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Value_Set_Minimum'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Minimum(CSG_Parameter_Value *,double,bool)\n"
+-    "    Set_Minimum(CSG_Parameter_Value *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Get_Minimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Value_Get_Minimum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Get_Minimum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  result = (double)(arg1)->Get_Minimum();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_has_Minimum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Value_has_Minimum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_has_Minimum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  result = (bool)(arg1)->has_Minimum();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Maximum__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  double arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Value_Set_Maximum",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Set_Maximum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Value_Set_Maximum" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Value_Set_Maximum" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  (arg1)->Set_Maximum(arg2,arg3);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Maximum__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Value_Set_Maximum",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Set_Maximum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Value_Set_Maximum" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Maximum(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Set_Maximum(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Value_Set_Maximum__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Value, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameter_Value_Set_Maximum__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Value_Set_Maximum'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Maximum(CSG_Parameter_Value *,double,bool)\n"
+-    "    Set_Maximum(CSG_Parameter_Value *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_Get_Maximum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Value_Get_Maximum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_Get_Maximum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  result = (double)(arg1)->Get_Maximum();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Value_has_Maximum(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Value *arg1 = (CSG_Parameter_Value *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Value_has_Maximum",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Value_has_Maximum" "', argument " "1"" of type '" "CSG_Parameter_Value *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Value * >(argp1);
+-  result = (bool)(arg1)->has_Maximum();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Value_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Value, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Int *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Int",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Int" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Int" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Int *)new CSG_Parameter_Int(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Int, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Int",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Int" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Int_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Int_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Int_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Int_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Int_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Int, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Int_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Int_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Int *,void *)\n"
+-    "    Set_Value(CSG_Parameter_Int *,int)\n"
+-    "    Set_Value(CSG_Parameter_Int *,double)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Int_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_asInt" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Int_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_asDouble" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  result = (double)(arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Int_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Int *arg1 = (CSG_Parameter_Int *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Int_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Int, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Int_asString" "', argument " "1"" of type '" "CSG_Parameter_Int *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Int * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Int_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Int, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Double *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Double",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Double" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Double" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Double *)new CSG_Parameter_Double(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Double, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Double(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Double",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Double" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Double_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Double_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Double_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Double_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Double_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Double, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Double_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Double_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Double *,int)\n"
+-    "    Set_Value(CSG_Parameter_Double *,double)\n"
+-    "    Set_Value(CSG_Parameter_Double *,void *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Double_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_asInt" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Double_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_asDouble" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  result = (double)(arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Double_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Double *arg1 = (CSG_Parameter_Double *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Double_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Double, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Double_asString" "', argument " "1"" of type '" "CSG_Parameter_Double *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Double * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Double_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Double, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Degree(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Degree *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Degree",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Degree" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Degree" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Degree *)new CSG_Parameter_Degree(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Degree, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Degree(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Degree *arg1 = (CSG_Parameter_Degree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Degree",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Degree, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Degree" "', argument " "1"" of type '" "CSG_Parameter_Degree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Degree * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Degree_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Degree *arg1 = (CSG_Parameter_Degree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Degree_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Degree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Degree_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Degree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Degree * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Degree_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Degree *arg1 = (CSG_Parameter_Degree *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Degree_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Degree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Degree_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Degree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Degree * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Degree_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Degree_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Degree *arg1 = (CSG_Parameter_Degree *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Degree_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Degree, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Degree_asString" "', argument " "1"" of type '" "CSG_Parameter_Degree *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Degree * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Degree_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Degree, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Range *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Range",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Range" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Range" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Range *)new CSG_Parameter_Range(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Range, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Range",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Range" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_asString" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Set_Range(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  double arg2 ;
+-  double arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  double val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Range_Set_Range",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Set_Range" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Range_Set_Range" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  ecode3 = SWIG_AsVal_double(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Range_Set_Range" "', argument " "3"" of type '" "double""'");
+-  } 
+-  arg3 = static_cast< double >(val3);
+-  result = (bool)(arg1)->Set_Range(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Set_LoVal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Range_Set_LoVal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Set_LoVal" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Range_Set_LoVal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_LoVal(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Get_LoVal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_Get_LoVal",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Get_LoVal" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (double)(arg1)->Get_LoVal();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Set_HiVal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Range_Set_HiVal",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Set_HiVal" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Range_Set_HiVal" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_HiVal(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Get_HiVal(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_Get_HiVal",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Get_HiVal" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (double)(arg1)->Get_HiVal();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Get_LoParm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_Get_LoParm",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Get_LoParm" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (CSG_Parameter *)(arg1)->Get_LoParm();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Range_Get_HiParm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Range *arg1 = (CSG_Parameter_Range *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Range_Get_HiParm",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Range_Get_HiParm" "', argument " "1"" of type '" "CSG_Parameter_Range *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Range * >(argp1);
+-  result = (CSG_Parameter *)(arg1)->Get_HiParm();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Range_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Range, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Choice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Choice *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Choice",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Choice" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Choice" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Choice *)new CSG_Parameter_Choice(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Choice, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Choice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Choice",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Choice" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Choice_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Choice_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Choice_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Choice_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_asString" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Set_Items(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Choice_Set_Items",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Set_Items" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Choice_Set_Items" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Items((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Choice_Get_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Item" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Choice_Get_Item" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)(arg1)->Get_Item(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Data__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  int *arg2 = 0 ;
+-  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:CSG_Parameter_Choice_Get_Data",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_int,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "int &""'"); 
+-  }
+-  arg2 = reinterpret_cast< int * >(argp2);
+-  result = (bool)(arg1)->Get_Data(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Data__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  double *arg2 = 0 ;
+-  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:CSG_Parameter_Choice_Get_Data",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_double,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "double &""'"); 
+-  }
+-  arg2 = reinterpret_cast< double * >(argp2);
+-  result = (bool)(arg1)->Get_Data(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Data__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Parameter_Choice_Get_Data",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_Choice_Get_Data" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Get_Data(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Data(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Choice, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_int, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Choice_Get_Data__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Choice, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_double, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Choice_Get_Data__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Choice, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Choice_Get_Data__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Choice_Get_Data'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Data(CSG_Parameter_Choice *,int &)\n"
+-    "    Get_Data(CSG_Parameter_Choice *,double &)\n"
+-    "    Get_Data(CSG_Parameter_Choice *,CSG_String &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Choice_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Choice *arg1 = (CSG_Parameter_Choice *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Choice_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Choice_Get_Count" "', argument " "1"" of type '" "CSG_Parameter_Choice *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Choice * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Choice_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Choice, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_String",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_String" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_String" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_String *)new CSG_Parameter_String(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_String, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_String",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_String" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_String_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_String_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_asString" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_String_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_is_Valid" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_String_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_String_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_Set_Password(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_String_Set_Password",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_Set_Password" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_String_Set_Password" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Password(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_String_is_Password(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_String *arg1 = (CSG_Parameter_String *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_String_is_Password",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_String, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_String_is_Password" "', argument " "1"" of type '" "CSG_Parameter_String *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_String * >(argp1);
+-  result = (bool)(arg1)->is_Password();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_String_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_String, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Text *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Text",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Text" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Text" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Text *)new CSG_Parameter_Text(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Text, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Text *arg1 = (CSG_Parameter_Text *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Text",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Text, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Text" "', argument " "1"" of type '" "CSG_Parameter_Text *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Text * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Text_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Text *arg1 = (CSG_Parameter_Text *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Text_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Text, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Text_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Text *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Text * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Text_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Text, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_File_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_File_Name *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_File_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_File_Name" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_File_Name" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_File_Name *)new CSG_Parameter_File_Name(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_File_Name, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_File_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_File_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_File_Name" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_File_Name_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Set_Filter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_File_Name_Set_Filter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Set_Filter" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_File_Name_Set_Filter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Filter((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Get_Filter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_File_Name_Get_Filter",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Get_Filter" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Filter();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Set_Flag_Save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_File_Name_Set_Flag_Save",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Set_Flag_Save" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_File_Name_Set_Flag_Save" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Flag_Save(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_is_Save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_File_Name_is_Save",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_is_Save" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  result = (bool)(arg1)->is_Save();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Set_Flag_Multiple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_File_Name_Set_Flag_Multiple",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Set_Flag_Multiple" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_File_Name_Set_Flag_Multiple" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Flag_Multiple(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_is_Multiple(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_File_Name_is_Multiple",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_is_Multiple" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  result = (bool)(arg1)->is_Multiple();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Set_Flag_Directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_File_Name_Set_Flag_Directory",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Set_Flag_Directory" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_File_Name_Set_Flag_Directory" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Flag_Directory(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_is_Directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_File_Name_is_Directory",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_is_Directory" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  result = (bool)(arg1)->is_Directory();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_File_Name_Get_FilePaths(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_File_Name *arg1 = (CSG_Parameter_File_Name *) 0 ;
+-  CSG_Strings *arg2 = 0 ;
+-  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:CSG_Parameter_File_Name_Get_FilePaths",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_File_Name_Get_FilePaths" "', argument " "1"" of type '" "CSG_Parameter_File_Name *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_File_Name * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Strings,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_File_Name_Get_FilePaths" "', argument " "2"" of type '" "CSG_Strings &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_File_Name_Get_FilePaths" "', argument " "2"" of type '" "CSG_Strings &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Strings * >(argp2);
+-  result = (bool)(arg1)->Get_FilePaths(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_File_Name_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_File_Name, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Font *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Font",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Font" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Font" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Font *)new CSG_Parameter_Font(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Font, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Font",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Font" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Font_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Font_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Font_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Font_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Font_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Font, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Font_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Font, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Font_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Font_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Font *,int)\n"
+-    "    Set_Value(CSG_Parameter_Font *,void *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Font_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_asInt" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Font_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Font_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Font *arg1 = (CSG_Parameter_Font *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Font_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Font, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Font_asString" "', argument " "1"" of type '" "CSG_Parameter_Font *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Font * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Font_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Font, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Color(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Color *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Color",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Color" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Color" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Color *)new CSG_Parameter_Color(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Color, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Color(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Color *arg1 = (CSG_Parameter_Color *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Color",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Color, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Color" "', argument " "1"" of type '" "CSG_Parameter_Color *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Color * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Color_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Color *arg1 = (CSG_Parameter_Color *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Color_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Color, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Color_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Color *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Color * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Color_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Color, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Colors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Colors",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Colors" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Colors" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Colors *)new CSG_Parameter_Colors(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Colors, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Colors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Colors *arg1 = (CSG_Parameter_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Colors",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Colors, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Colors" "', argument " "1"" of type '" "CSG_Parameter_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Colors * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Colors_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Colors *arg1 = (CSG_Parameter_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Colors_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Colors_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Colors * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Colors_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Colors *arg1 = (CSG_Parameter_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Colors_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Colors_asInt" "', argument " "1"" of type '" "CSG_Parameter_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Colors * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Colors_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Colors *arg1 = (CSG_Parameter_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Colors_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Colors_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Colors * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Colors_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Colors *arg1 = (CSG_Parameter_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Colors_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Colors_asString" "', argument " "1"" of type '" "CSG_Parameter_Colors *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Colors * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Colors_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Colors, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Fixed_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Fixed_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Fixed_Table",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Fixed_Table" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Fixed_Table" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Fixed_Table *)new CSG_Parameter_Fixed_Table(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Fixed_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Fixed_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Fixed_Table *arg1 = (CSG_Parameter_Fixed_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Fixed_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Fixed_Table, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Fixed_Table" "', argument " "1"" of type '" "CSG_Parameter_Fixed_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Fixed_Table * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Fixed_Table_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Fixed_Table *arg1 = (CSG_Parameter_Fixed_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Fixed_Table_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Fixed_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Fixed_Table_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Fixed_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Fixed_Table * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Fixed_Table_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Fixed_Table *arg1 = (CSG_Parameter_Fixed_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Fixed_Table_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Fixed_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Fixed_Table_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Fixed_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Fixed_Table * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Fixed_Table_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Fixed_Table *arg1 = (CSG_Parameter_Fixed_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Fixed_Table_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Fixed_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Fixed_Table_asString" "', argument " "1"" of type '" "CSG_Parameter_Fixed_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Fixed_Table * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Fixed_Table_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Fixed_Table, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Grid_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Grid_System" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Grid_System" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Grid_System *)new CSG_Parameter_Grid_System(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Grid_System, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_System *arg1 = (CSG_Parameter_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Grid_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_System, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Grid_System" "', argument " "1"" of type '" "CSG_Parameter_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_System * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_System_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_System *arg1 = (CSG_Parameter_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_System_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_System_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_System * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_System_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_System *arg1 = (CSG_Parameter_Grid_System *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Grid_System_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_System_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_System * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Grid_System_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_System_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_System *arg1 = (CSG_Parameter_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_System_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_System_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_System * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_System_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_System *arg1 = (CSG_Parameter_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_System_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_System_asString" "', argument " "1"" of type '" "CSG_Parameter_Grid_System *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_System * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Grid_System_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Grid_System, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Table_Field(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Table_Field *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Table_Field",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Table_Field" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Table_Field" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Table_Field *)new CSG_Parameter_Table_Field(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Table_Field, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Table_Field(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Table_Field",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Table_Field" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Table_Field_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Field_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Table_Field_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Field_asString" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Table_Field_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Field_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Table_Field_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Table_Field_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Field_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Table_Field_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Table_Field, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Table_Field_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Table_Field, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Table_Field_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Table_Field_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Table_Field *,int)\n"
+-    "    Set_Value(CSG_Parameter_Table_Field *,void *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Field_Get_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_Field *arg1 = (CSG_Parameter_Table_Field *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Table_Field_Get_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_Field, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Field_Get_Table" "', argument " "1"" of type '" "CSG_Parameter_Table_Field *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_Field * >(argp1);
+-  result = (CSG_Table *)(arg1)->Get_Table();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Table_Field_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Table_Field, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Data_Object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Data_Object",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Data_Object" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Object_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_is_Valid" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Data_Object_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Object_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Object_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Object_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Object_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_Data_Object, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Data_Object_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Data_Object_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter_Data_Object *,int)\n"
+-    "    Set_Value(CSG_Parameter_Data_Object *,void *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Object_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object *arg1 = (CSG_Parameter_Data_Object *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Object_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_asString" "', argument " "1"" of type '" "CSG_Parameter_Data_Object *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Data_Object_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Data_Object, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Data_Object_Output(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Data_Object_Output *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Data_Object_Output",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Data_Object_Output" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Data_Object_Output" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Data_Object_Output *)new CSG_Parameter_Data_Object_Output(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Data_Object_Output, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Data_Object_Output(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object_Output *arg1 = (CSG_Parameter_Data_Object_Output *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Data_Object_Output",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object_Output, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Data_Object_Output" "', argument " "1"" of type '" "CSG_Parameter_Data_Object_Output *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object_Output * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Output_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object_Output *arg1 = (CSG_Parameter_Data_Object_Output *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Object_Output_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object_Output, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Output_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Data_Object_Output *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object_Output * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Output_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object_Output *arg1 = (CSG_Parameter_Data_Object_Output *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Data_Object_Output_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object_Output, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Output_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Data_Object_Output *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object_Output * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Data_Object_Output_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Output_Set_DataObject_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object_Output *arg1 = (CSG_Parameter_Data_Object_Output *) 0 ;
+-  TSG_Data_Object_Type arg2 ;
+-  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:CSG_Parameter_Data_Object_Output_Set_DataObject_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object_Output, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Output_Set_DataObject_Type" "', argument " "1"" of type '" "CSG_Parameter_Data_Object_Output *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object_Output * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Data_Object_Output_Set_DataObject_Type" "', argument " "2"" of type '" "TSG_Data_Object_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Object_Type >(val2);
+-  result = (bool)(arg1)->Set_DataObject_Type(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Data_Object_Output_Get_DataObject_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Data_Object_Output *arg1 = (CSG_Parameter_Data_Object_Output *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Object_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Data_Object_Output_Get_DataObject_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Data_Object_Output, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Data_Object_Output_Get_DataObject_Type" "', argument " "1"" of type '" "CSG_Parameter_Data_Object_Output *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Data_Object_Output * >(argp1);
+-  result = (TSG_Data_Object_Type)(arg1)->Get_DataObject_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Data_Object_Output_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Data_Object_Output, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Grid" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Grid" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Grid *)new CSG_Parameter_Grid(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Grid, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Grid" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Grid_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Grid_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_Set_Preferred_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Grid_Set_Preferred_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_Set_Preferred_Type" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Grid_Set_Preferred_Type" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  (arg1)->Set_Preferred_Type(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_Get_Preferred_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Data_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_Get_Preferred_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_Get_Preferred_Type" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  result = (TSG_Data_Type)(arg1)->Get_Preferred_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_Get_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid *arg1 = (CSG_Parameter_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_Get_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_Get_System" "', argument " "1"" of type '" "CSG_Parameter_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid * >(argp1);
+-  result = (CSG_Grid_System *)(arg1)->Get_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Grid_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Grid, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Table",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Table" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Table" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Table *)new CSG_Parameter_Table(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Table, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table *arg1 = (CSG_Parameter_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Table",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Table" "', argument " "1"" of type '" "CSG_Parameter_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table *arg1 = (CSG_Parameter_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Table_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table *arg1 = (CSG_Parameter_Table *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Table_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Table *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Table_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Table_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Table, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Shapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Shapes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Shapes" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Shapes" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Shapes *)new CSG_Parameter_Shapes(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Shapes, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Shapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes *arg1 = (CSG_Parameter_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Shapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Shapes" "', argument " "1"" of type '" "CSG_Parameter_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes *arg1 = (CSG_Parameter_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Shapes_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes *arg1 = (CSG_Parameter_Shapes *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Shapes_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Shapes_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_Set_Shape_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes *arg1 = (CSG_Parameter_Shapes *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Shapes_Set_Shape_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_Set_Shape_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Shapes_Set_Shape_Type" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  (arg1)->Set_Shape_Type(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_Get_Shape_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes *arg1 = (CSG_Parameter_Shapes *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Shape_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Shapes_Get_Shape_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_Get_Shape_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes * >(argp1);
+-  result = (TSG_Shape_Type)(arg1)->Get_Shape_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Shapes_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Shapes, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_TIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_TIN",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_TIN" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_TIN" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_TIN *)new CSG_Parameter_TIN(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_TIN, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_TIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN *arg1 = (CSG_Parameter_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_TIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_TIN" "', argument " "1"" of type '" "CSG_Parameter_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_TIN_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN *arg1 = (CSG_Parameter_TIN *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_TIN_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_TIN_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_TIN_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN *arg1 = (CSG_Parameter_TIN *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_TIN_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_TIN_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_TIN *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_TIN_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_TIN_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_TIN, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_PointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_PointCloud",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_PointCloud" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_PointCloud" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_PointCloud *)new CSG_Parameter_PointCloud(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_PointCloud, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_PointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud *arg1 = (CSG_Parameter_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_PointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_PointCloud" "', argument " "1"" of type '" "CSG_Parameter_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_PointCloud_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud *arg1 = (CSG_Parameter_PointCloud *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_PointCloud_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_PointCloud_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_PointCloud_Set_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud *arg1 = (CSG_Parameter_PointCloud *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_PointCloud_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_PointCloud_Set_Value" "', argument " "1"" of type '" "CSG_Parameter_PointCloud *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_PointCloud_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_PointCloud_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_PointCloud, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_List" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_List_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_asString" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_List_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_asInt" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_List_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_asPointer" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Add_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 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:CSG_Parameter_List_Add_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_Add_Item" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_List_Add_Item" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  (arg1)->Add_Item(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Del_Item__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_List_Del_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_Del_Item" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_List_Del_Item" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (int)(arg1)->Del_Item(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Del_Item__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  CSG_Data_Object *arg2 = (CSG_Data_Object *) 0 ;
+-  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:CSG_Parameter_List_Del_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_Del_Item" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_List_Del_Item" "', argument " "2"" of type '" "CSG_Data_Object *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Data_Object * >(argp2);
+-  result = (int)(arg1)->Del_Item(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Del_Item(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_List, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Data_Object, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_List_Del_Item__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter_List, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_List_Del_Item__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_List_Del_Item'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Item(CSG_Parameter_List *,int)\n"
+-    "    Del_Item(CSG_Parameter_List *,CSG_Data_Object *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Del_Items(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_List_Del_Items",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_Del_Items" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  (arg1)->Del_Items();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_List_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_Get_Count" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_List_asDataObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_List *arg1 = (CSG_Parameter_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_List_asDataObject",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_List_asDataObject" "', argument " "1"" of type '" "CSG_Parameter_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_List_asDataObject" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Data_Object *)(arg1)->asDataObject(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Grid_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Grid_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Grid_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Grid_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Grid_List" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Grid_List *)new CSG_Parameter_Grid_List(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Grid_List, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Grid_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_List *arg1 = (CSG_Parameter_Grid_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Grid_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Grid_List" "', argument " "1"" of type '" "CSG_Parameter_Grid_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_List_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_List *arg1 = (CSG_Parameter_Grid_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_List_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_List_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Grid_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_List * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_List_Get_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_List *arg1 = (CSG_Parameter_Grid_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Grid_List_Get_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_List_Get_System" "', argument " "1"" of type '" "CSG_Parameter_Grid_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_List * >(argp1);
+-  result = (CSG_Grid_System *)(arg1)->Get_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Grid_List_asGrid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Grid_List *arg1 = (CSG_Parameter_Grid_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Grid_List_asGrid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Grid_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Grid_List_asGrid" "', argument " "1"" of type '" "CSG_Parameter_Grid_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Grid_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Grid_List_asGrid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Grid *)(arg1)->asGrid(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Grid_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Grid_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Table_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Table_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Table_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Table_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Table_List" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Table_List *)new CSG_Parameter_Table_List(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Table_List, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Table_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_List *arg1 = (CSG_Parameter_Table_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Table_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Table_List" "', argument " "1"" of type '" "CSG_Parameter_Table_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_List_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_List *arg1 = (CSG_Parameter_Table_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Table_List_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_List_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Table_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_List * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Table_List_asTable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Table_List *arg1 = (CSG_Parameter_Table_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Table_List_asTable",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Table_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Table_List_asTable" "', argument " "1"" of type '" "CSG_Parameter_Table_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Table_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Table_List_asTable" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Table *)(arg1)->asTable(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Table_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Table_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Shapes_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Shapes_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Shapes_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Shapes_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Shapes_List" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Shapes_List *)new CSG_Parameter_Shapes_List(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Shapes_List, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Shapes_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes_List *arg1 = (CSG_Parameter_Shapes_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Shapes_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Shapes_List" "', argument " "1"" of type '" "CSG_Parameter_Shapes_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_List_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes_List *arg1 = (CSG_Parameter_Shapes_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Shapes_List_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_List_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes_List * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_List_Set_Shape_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes_List *arg1 = (CSG_Parameter_Shapes_List *) 0 ;
+-  TSG_Shape_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Shapes_List_Set_Shape_Type",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_List_Set_Shape_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Shapes_List_Set_Shape_Type" "', argument " "2"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Shape_Type >(val2);
+-  (arg1)->Set_Shape_Type(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_List_Get_Shape_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes_List *arg1 = (CSG_Parameter_Shapes_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Shape_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Shapes_List_Get_Shape_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_List_Get_Shape_Type" "', argument " "1"" of type '" "CSG_Parameter_Shapes_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes_List * >(argp1);
+-  result = (TSG_Shape_Type)(arg1)->Get_Shape_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Shapes_List_asShapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Shapes_List *arg1 = (CSG_Parameter_Shapes_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Shapes_List_asShapes",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Shapes_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Shapes_List_asShapes" "', argument " "1"" of type '" "CSG_Parameter_Shapes_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Shapes_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Shapes_List_asShapes" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Shapes *)(arg1)->asShapes(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Shapes_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Shapes_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_TIN_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_TIN_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_TIN_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_TIN_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_TIN_List" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_TIN_List *)new CSG_Parameter_TIN_List(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_TIN_List, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_TIN_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN_List *arg1 = (CSG_Parameter_TIN_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_TIN_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_TIN_List" "', argument " "1"" of type '" "CSG_Parameter_TIN_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_TIN_List_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN_List *arg1 = (CSG_Parameter_TIN_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_TIN_List_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_TIN_List_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_TIN_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN_List * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_TIN_List_asTIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_TIN_List *arg1 = (CSG_Parameter_TIN_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_TIN_List_asTIN",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_TIN_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_TIN_List_asTIN" "', argument " "1"" of type '" "CSG_Parameter_TIN_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_TIN_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_TIN_List_asTIN" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_TIN *)(arg1)->asTIN(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_TIN_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_TIN_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_PointCloud_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_PointCloud_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_PointCloud_List",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_PointCloud_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_PointCloud_List" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_PointCloud_List *)new CSG_Parameter_PointCloud_List(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_PointCloud_List, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_PointCloud_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud_List *arg1 = (CSG_Parameter_PointCloud_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_PointCloud_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud_List, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_PointCloud_List" "', argument " "1"" of type '" "CSG_Parameter_PointCloud_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud_List * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_PointCloud_List_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud_List *arg1 = (CSG_Parameter_PointCloud_List *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_PointCloud_List_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_PointCloud_List_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_PointCloud_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud_List * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_PointCloud_List_asPointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_PointCloud_List *arg1 = (CSG_Parameter_PointCloud_List *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_PointCloud_List_asPointCloud",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_PointCloud_List, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_PointCloud_List_asPointCloud" "', argument " "1"" of type '" "CSG_Parameter_PointCloud_List *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_PointCloud_List * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_PointCloud_List_asPointCloud" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_PointCloud *)(arg1)->asPointCloud(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_PointCloud_List_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_PointCloud_List, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameter_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  long arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  long val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:new_CSG_Parameter_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameter_Parameters" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_long(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_CSG_Parameter_Parameters" "', argument " "2"" of type '" "long""'");
+-  } 
+-  arg2 = static_cast< long >(val2);
+-  result = (CSG_Parameter_Parameters *)new CSG_Parameter_Parameters(arg1,arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Parameters, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameter_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Parameters *arg1 = (CSG_Parameter_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameter_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Parameters, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameter_Parameters" "', argument " "1"" of type '" "CSG_Parameter_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Parameters * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Parameters_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Parameters *arg1 = (CSG_Parameter_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Parameters_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Parameters_Get_Type" "', argument " "1"" of type '" "CSG_Parameter_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Parameters * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Parameters_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Parameters *arg1 = (CSG_Parameter_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Parameters_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Parameters_asString" "', argument " "1"" of type '" "CSG_Parameter_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Parameters * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Parameters_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter_Parameters *arg1 = (CSG_Parameter_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Parameters_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Parameters_asPointer" "', argument " "1"" of type '" "CSG_Parameter_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter_Parameters * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_Parameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter_Parameters, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters_Grid_Target(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Parameters_Grid_Target")) SWIG_fail;
+-  result = (CSG_Parameters_Grid_Target *)new CSG_Parameters_Grid_Target();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters_Grid_Target, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Grid_Target_Create",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Create" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  (arg1)->Create();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_User__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_Add_Parameters_User",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_User" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_User" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add_Parameters_User(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_User__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Parameters_Grid_Target_Add_Parameters_User",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_User" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)(arg1)->Add_Parameters_User(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_User(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Add_Parameters_User__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Grid_Target_Add_Parameters_User__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Grid_Target_Add_Parameters_User'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Parameters_User(CSG_Parameters_Grid_Target *,CSG_Parameters *,bool)\n"
+-    "    Add_Parameters_User(CSG_Parameters_Grid_Target *,CSG_Parameters *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_Add_Parameters_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_Grid" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_Grid" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Add_Parameters_Grid(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Parameters_Grid_Target_Add_Parameters_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_Grid" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)(arg1)->Add_Parameters_Grid(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Grid_Target_Add_Parameters_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Parameters_Grid(CSG_Parameters_Grid_Target *,CSG_Parameters *,bool)\n"
+-    "    Add_Parameters_Grid(CSG_Parameters_Grid_Target *,CSG_Parameters *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Parameters_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Parameters_Grid_Target_Add_Parameters_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_System" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Parameters_System" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (bool)(arg1)->Add_Parameters_System(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Add_Grid_Parameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  CSG_String *arg3 = 0 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Grid_Target_Add_Grid_Parameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp3) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "3"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_String * >(argp3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Parameters_Grid_Target_Add_Grid_Parameter" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Add_Grid_Parameter((CSG_String const &)*arg2,(CSG_String const &)*arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_On_User_Changed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg3 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_On_User_Changed",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_On_User_Changed" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_On_User_Changed" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Grid_Target_On_User_Changed" "', argument " "3"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Parameter * >(argp3);
+-  result = (bool)(arg1)->On_User_Changed(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Init_User__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  TSG_Rect *arg2 = 0 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_Init_User",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Rect * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Init_User((TSG_Rect const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Init_User__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  TSG_Rect *arg2 = 0 ;
+-  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:CSG_Parameters_Grid_Target_Init_User",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_SSG_Rect,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Init_User" "', argument " "2"" of type '" "TSG_Rect const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< TSG_Rect * >(argp2);
+-  result = (bool)(arg1)->Init_User((TSG_Rect const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Init_User(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Init_User__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_SSG_Rect, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Grid_Target_Init_User__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Grid_Target_Init_User'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Init_User(CSG_Parameters_Grid_Target *,TSG_Rect const &,int)\n"
+-    "    Init_User(CSG_Parameters_Grid_Target *,TSG_Rect const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Grid_Target_Get_User",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)(arg1)->Get_User(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Grid_Target_Get_User",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  result = (CSG_Grid *)(arg1)->Get_User();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_Get_User",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (CSG_Grid *)(arg1)->Get_User((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Grid_Target_Get_User",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_User" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (CSG_Grid *)(arg1)->Get_User((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_User(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Grid_Target_Get_User__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Grid_Target_Get_User'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_User(CSG_Parameters_Grid_Target *,TSG_Data_Type)\n"
+-    "    Get_User(CSG_Parameters_Grid_Target *)\n"
+-    "    Get_User(CSG_Parameters_Grid_Target *,CSG_String const &,TSG_Data_Type)\n"
+-    "    Get_User(CSG_Parameters_Grid_Target *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  TSG_Data_Type arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Grid_Target_Get_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "2"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg2 = static_cast< TSG_Data_Type >(val2);
+-  result = (CSG_Grid *)(arg1)->Get_Grid(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Grid_Target_Get_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  result = (CSG_Grid *)(arg1)->Get_Grid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  TSG_Data_Type arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Grid_Target_Get_Grid",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "3"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg3 = static_cast< TSG_Data_Type >(val3);
+-  result = (CSG_Grid *)(arg1)->Get_Grid((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Grid_Target_Get_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_Grid" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (CSG_Grid *)(arg1)->Get_Grid((CSG_String const &)*arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_Grid(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters_Grid_Target, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Grid_Target_Get_Grid__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Grid_Target_Get_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Grid(CSG_Parameters_Grid_Target *,TSG_Data_Type)\n"
+-    "    Get_Grid(CSG_Parameters_Grid_Target *)\n"
+-    "    Get_Grid(CSG_Parameters_Grid_Target *,CSG_String const &,TSG_Data_Type)\n"
+-    "    Get_Grid(CSG_Parameters_Grid_Target *,CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_System_User(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Parameters_Grid_Target_Get_System_User",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_System_User" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_System_User" "', argument " "2"" of type '" "CSG_Grid_System &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_System_User" "', argument " "2"" of type '" "CSG_Grid_System &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)(arg1)->Get_System_User(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Grid_Target_Get_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  CSG_Grid_System *arg2 = 0 ;
+-  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:CSG_Parameters_Grid_Target_Get_System",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Grid_Target_Get_System" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Grid_System,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Grid_Target_Get_System" "', argument " "2"" of type '" "CSG_Grid_System &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Grid_Target_Get_System" "', argument " "2"" of type '" "CSG_Grid_System &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Grid_System * >(argp2);
+-  result = (bool)(arg1)->Get_System(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameters_Grid_Target(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters_Grid_Target *arg1 = (CSG_Parameters_Grid_Target *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameters_Grid_Target",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters_Grid_Target, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameters_Grid_Target" "', argument " "1"" of type '" "CSG_Parameters_Grid_Target *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters_Grid_Target * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameters_Grid_Target_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameters_Grid_Target, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Owner(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Owner",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Owner" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameters *)(arg1)->Get_Owner();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Parent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Parent",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Parent" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter *)(arg1)->Get_Parent();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Parameter_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Type" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (TSG_Parameter_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Type_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Type_Identifier",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Type_Identifier" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Type_Identifier();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Type_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Type_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Type_Name" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Type_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Data *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Data",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Data" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Data *)(arg1)->Get_Data();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Data, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Identifier",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Identifier" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Identifier();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Name" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Description__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Description" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Description();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Description__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Get_Description",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Description" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Get_Description" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Description(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Description__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  int arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Get_Description",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Description" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Get_Description" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameter_Get_Description" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (arg1)->Get_Description(arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Description(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Parameter_Get_Description__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Get_Description__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Parameter_Get_Description__SWIG_2(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Get_Description'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Description(CSG_Parameter *)\n"
+-    "    Get_Description(CSG_Parameter *,int)\n"
+-    "    Get_Description(CSG_Parameter *,int,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Enabled(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Enabled",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Enabled" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Set_Enabled" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Set_Enabled(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Enabled(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Enabled",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Enabled" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Enabled();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_ignore_Projection(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_ignore_Projection",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_ignore_Projection" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->ignore_Projection();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Valid" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Input(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Input",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Input" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Input();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Output(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Output",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Output" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Output();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Optional(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Optional",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Optional" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Optional();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Information(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Information",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Information" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Information();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Option(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Option",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Option" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Option();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_DataObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_DataObject",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_DataObject" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_DataObject();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_DataObject_List(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_DataObject_List",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_DataObject_List" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_DataObject_List();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Parameters" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Parameters();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_is_Serializable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_is_Serializable",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_is_Serializable" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->is_Serializable();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Children_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_Get_Children_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Children_Count" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (int)(arg1)->Get_Children_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Get_Child(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Get_Child",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Get_Child" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Get_Child" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Parameter *)(arg1)->Get_Child(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameter_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Value" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Set_Value" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Value" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Set_Value" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Value" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Set_Value" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Value(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Value",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Value" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Set_Value" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Set_Value((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Value(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Value__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Value__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Value__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Value__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Set_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Value(CSG_Parameter *,int)\n"
+-    "    Set_Value(CSG_Parameter *,double)\n"
+-    "    Set_Value(CSG_Parameter *,void *)\n"
+-    "    Set_Value(CSG_Parameter *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Default__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Default" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Set_Default" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  (arg1)->Set_Default(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Default__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  double arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  double val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Default" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  ecode2 = SWIG_AsVal_double(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameter_Set_Default" "', argument " "2"" of type '" "double""'");
+-  } 
+-  arg2 = static_cast< double >(val2);
+-  (arg1)->Set_Default(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Default__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameter_Set_Default",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Set_Default" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Set_Default" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Default((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Set_Default(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Default__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_double(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Default__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameter_Set_Default__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameter_Set_Default'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Default(CSG_Parameter *,int)\n"
+-    "    Set_Default(CSG_Parameter *,double)\n"
+-    "    Set_Default(CSG_Parameter *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_has_Changed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_has_Changed",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_has_Changed" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->has_Changed();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asBool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asBool",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asBool" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (bool)(arg1)->asBool();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asInt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asInt",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asInt" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (int)(arg1)->asInt();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asColor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  long result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asColor",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asColor" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (long)(arg1)->asColor();
+-  resultobj = SWIG_From_long(static_cast< long >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asDouble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  double result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asDouble",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asDouble" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (double)(arg1)->asDouble();
+-  resultobj = SWIG_From_double(static_cast< double >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asPointer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asPointer",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asPointer" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (void *)(arg1)->asPointer();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asString",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asString" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wchar_t *)(arg1)->asString();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asFont(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wxFont *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asFont",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asFont" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (wxFont *)(arg1)->asFont();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_wxFont, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asColors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Colors *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asColors",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asColors" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Colors *)(arg1)->asColors();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asGrid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asGrid_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asGrid_System" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Grid_System *)(arg1)->asGrid_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asDataObject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asDataObject",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asDataObject" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Data_Object *)(arg1)->asDataObject();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asGrid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asGrid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asGrid" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Grid *)(arg1)->asGrid();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asTable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Table *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asTable",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asTable" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Table *)(arg1)->asTable();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asShapes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Shapes *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asShapes",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asShapes" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Shapes *)(arg1)->asShapes();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Shapes, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asTIN(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_TIN *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asTIN",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asTIN" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_TIN *)(arg1)->asTIN();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_TIN, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asPointCloud(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_PointCloud *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asPointCloud",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asPointCloud" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_PointCloud *)(arg1)->asPointCloud();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_PointCloud, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Value *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asValue",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asValue" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Value *)(arg1)->asValue();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Value, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asChoice(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Choice *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asChoice",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asChoice" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Choice *)(arg1)->asChoice();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Choice, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asRange(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Range *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asRange",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asRange" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Range *)(arg1)->asRange();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Range, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asFilePath(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_File_Name *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asFilePath",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asFilePath" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_File_Name *)(arg1)->asFilePath();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_File_Name, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_List *)(arg1)->asList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asGridList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Grid_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asGridList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asGridList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Grid_List *)(arg1)->asGridList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Grid_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asTableList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Table_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asTableList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asTableList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Table_List *)(arg1)->asTableList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Table_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asShapesList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_Shapes_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asShapesList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asShapesList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_Shapes_List *)(arg1)->asShapesList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_Shapes_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asTINList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_TIN_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asTINList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asTINList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_TIN_List *)(arg1)->asTINList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_TIN_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asPointCloudList(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameter_PointCloud_List *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asPointCloudList",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asPointCloudList" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameter_PointCloud_List *)(arg1)->asPointCloudList();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter_PointCloud_List, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_asParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameter_asParameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_asParameters" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  result = (CSG_Parameters *)(arg1)->asParameters();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  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:CSG_Parameter_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Assign" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Assign" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  result = (bool)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameter_Serialize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameter *arg1 = (CSG_Parameter *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_MetaData *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameter_Serialize",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameter_Serialize" "', argument " "1"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameter * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameter_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameter_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameter_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_MetaData *)(arg1)->Serialize(*arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_MetaData, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameter, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Parameters")) SWIG_fail;
+-  result = (CSG_Parameters *)new CSG_Parameters();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Parameters" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  bool arg5 ;
+-  int res1 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  bool val5 ;
+-  int ecode5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:new_CSG_Parameters",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameters" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Parameters" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Parameters" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_CSG_Parameters" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  ecode5 = SWIG_AsVal_bool(obj4, &val5);
+-  if (!SWIG_IsOK(ecode5)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_CSG_Parameters" "', argument " "5"" of type '" "bool""'");
+-  } 
+-  arg5 = static_cast< bool >(val5);
+-  result = (CSG_Parameters *)new CSG_Parameters(arg1,(wchar_t const *)arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  int res1 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:new_CSG_Parameters",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameters" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Parameters" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Parameters" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_CSG_Parameters" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (CSG_Parameters *)new CSG_Parameters(arg1,(wchar_t const *)arg2,(wchar_t const *)arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  void *arg1 = (void *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  int res1 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:new_CSG_Parameters",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0,SWIG_as_voidptrptr(&arg1), 0, 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Parameters" "', argument " "1"" of type '" "void *""'"); 
+-  }
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_CSG_Parameters" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_CSG_Parameters" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  result = (CSG_Parameters *)new CSG_Parameters(arg1,(wchar_t const *)arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, SWIG_POINTER_NEW |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Parameters(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Parameters__SWIG_0(self, args);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *ptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &ptr, 0, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_new_CSG_Parameters__SWIG_3(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *ptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &ptr, 0, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_new_CSG_Parameters__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *ptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &ptr, 0, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            {
+-              int res = SWIG_AsVal_bool(argv[4], NULL);
+-              _v = SWIG_CheckState(res);
+-            }
+-            if (_v) {
+-              return _wrap_new_CSG_Parameters__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Parameters'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Parameters()\n"
+-    "    CSG_Parameters(void *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    CSG_Parameters(void *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    CSG_Parameters(void *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Create",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Create" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Create" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Create" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Create" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Create" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  (arg1)->Create(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Create",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Create" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Create" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Create" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Create" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  (arg1)->Create(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Create__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *arg2 = (void *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Create",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Create" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Create" "', argument " "2"" of type '" "void *""'"); 
+-  }
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Create" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Create" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  (arg1)->Create(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Create(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Create__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Create__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *ptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &ptr, 0, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Create__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Create'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Create(CSG_Parameters *,void *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Create(CSG_Parameters *,void *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Create(CSG_Parameters *,void *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Destroy" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Owner(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  void *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Owner",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Owner" "', argument " "1"" of type '" "CSG_Parameters const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (void *)((CSG_Parameters const *)arg1)->Get_Owner();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Count" "', argument " "1"" of type '" "CSG_Parameters const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (int)((CSG_Parameters const *)arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Identifier",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Identifier" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Identifier" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Identifier((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Identifier(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Identifier",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Identifier" "', argument " "1"" of type '" "CSG_Parameters const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (wchar_t *)((CSG_Parameters const *)arg1)->Get_Identifier();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Name" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Name" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Name((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Name" "', argument " "1"" of type '" "CSG_Parameters const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (wchar_t *)((CSG_Parameters const *)arg1)->Get_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Description",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Description" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Description" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  (arg1)->Set_Description((wchar_t const *)arg2);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Description" "', argument " "1"" of type '" "CSG_Parameters const *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (wchar_t *)((CSG_Parameters const *)arg1)->Get_Description();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Translation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Translator *arg2 = 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:CSG_Parameters_Set_Translation",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Translation" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Translator,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Translation" "', argument " "2"" of type '" "CSG_Translator &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Set_Translation" "', argument " "2"" of type '" "CSG_Translator &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Translator * >(argp2);
+-  (arg1)->Set_Translation(*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Enabled(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Enabled",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Enabled" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Set_Enabled" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Enabled(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Callback_On_Parameter_Changed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  TSG_PFNC_Parameter_Changed arg2 = (TSG_PFNC_Parameter_Changed) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Callback_On_Parameter_Changed",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Callback_On_Parameter_Changed" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  {
+-    int res = SWIG_ConvertFunctionPtr(obj1, (void**)(&arg2), SWIGTYPE_p_f_p_CSG_Parameter__int);
+-    if (!SWIG_IsOK(res)) {
+-      SWIG_exception_fail(SWIG_ArgError(res), "in method '" "CSG_Parameters_Set_Callback_On_Parameter_Changed" "', argument " "2"" of type '" "TSG_PFNC_Parameter_Changed""'"); 
+-    }
+-  }
+-  (arg1)->Set_Callback_On_Parameter_Changed(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Callback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Set_Callback",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Callback" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Set_Callback" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Callback(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Callback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Set_Callback",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Callback" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  (arg1)->Set_Callback();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Callback(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Parameters_Set_Callback__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Set_Callback__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Set_Callback'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Callback(CSG_Parameters *,bool)\n"
+-    "    Set_Callback(CSG_Parameters *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Parameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Get_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Parameter *)(arg1)->Get_Parameter(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Get_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Parameter *)(arg1)->Get_Parameter((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters___call____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters___call__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters___call__" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters___call__" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Parameter *)(arg1)->operator ()(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters___call____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters___call__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters___call__" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters___call__" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Parameter *)(arg1)->operator ()((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Del_Parameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  int arg2 ;
+-  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:CSG_Parameters_Del_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (bool)(arg1)->Del_Parameter(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Del_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Del_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (bool)(arg1)->Del_Parameter((wchar_t const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Del_Parameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Del_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Del_Parameters" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (bool)(arg1)->Del_Parameters();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Node__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Node",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Node" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Node" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Node" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Node" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Node" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Node(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  bool arg11 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  bool val11 ;
+-  int ecode11 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  PyObject * obj10 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Value" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  ecode11 = SWIG_AsVal_bool(obj10, &val11);
+-  if (!SWIG_IsOK(ecode11)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "CSG_Parameters_Add_Value" "', argument " "11"" of type '" "bool""'");
+-  } 
+-  arg11 = static_cast< bool >(val11);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Value" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Value__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Value__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Value(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  bool arg11 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  bool val11 ;
+-  int ecode11 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  PyObject * obj10 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Range" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  ecode11 = SWIG_AsVal_bool(obj10, &val11);
+-  if (!SWIG_IsOK(ecode11)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "CSG_Parameters_Add_Range" "', argument " "11"" of type '" "bool""'");
+-  } 
+-  arg11 = static_cast< bool >(val11);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Range" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Choice__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  int arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Choice",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Choice" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Choice" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Choice" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Choice" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Choice" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Choice" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Choice" "', argument " "7"" of type '" "int""'");
+-  } 
+-  arg7 = static_cast< int >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Choice(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Choice__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Choice",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Choice" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Choice" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Choice" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Choice" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Choice" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Choice" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_Choice(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  bool arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_String" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_String__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_String(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_String__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_String(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  bool arg9 ;
+-  bool arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  bool val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_bool(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "10"" of type '" "bool""'");
+-  } 
+-  arg10 = static_cast< bool >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Font__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wxFont *arg6 = (wxFont *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Font",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Font" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Font" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Font" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Font" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Font" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_wxFont, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Font" "', argument " "6"" of type '" "wxFont *""'"); 
+-  }
+-  arg6 = reinterpret_cast< wxFont * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Font(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Font__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Font",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Font" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Font" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Font" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Font" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Font" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Font(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Colors__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Colors *arg6 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Colors",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Colors" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Colors" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Colors" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Colors" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Colors" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Colors" "', argument " "6"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Colors * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Colors(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Colors__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Colors",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Colors" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Colors" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Colors" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Colors" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Colors" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Colors(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FixedTable__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Table *arg6 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_FixedTable",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "6"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Table * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_FixedTable(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FixedTable__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_FixedTable",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_FixedTable(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_System__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Grid_System *arg6 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "6"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Grid_System * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_System(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_System__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_System(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  TSG_Data_Type arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  int val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  ecode8 = SWIG_AsVal_int(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Grid" "', argument " "8"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg8 = static_cast< TSG_Data_Type >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_Output__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Grid_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_Output(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Grid_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Field__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table_Field",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Field(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Field__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Table_Field",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Field(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Output__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Table_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Output(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  TSG_Shape_Type arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Shapes",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "7"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Shape_Type >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Shapes",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_Output__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Shapes_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_Output(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  TSG_Shape_Type arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Shapes_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "7"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Shape_Type >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Shapes_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_TIN",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_TIN" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_Output__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_TIN_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN_Output(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_TIN_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_PointCloud",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_Output__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_PointCloud_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud_Output(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_List__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_PointCloud_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud_List(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Parameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Parameters",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Parameters(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  CSG_Parameter *arg3 = (CSG_Parameter *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  void *argp3 = 0 ;
+-  int res3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Set_Parameter",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "3"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg3 = reinterpret_cast< CSG_Parameter * >(argp3);
+-  result = (bool)(arg1)->Set_Parameter((wchar_t const *)arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Set_Parameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Set_Parameter((wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int arg3 ;
+-  double arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  double val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Set_Parameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  ecode4 = SWIG_AsVal_double(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "4"" of type '" "double""'");
+-  } 
+-  arg4 = static_cast< double >(val4);
+-  result = (bool)(arg1)->Set_Parameter((wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int arg3 ;
+-  void *arg4 = (void *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Set_Parameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_ConvertPtr(obj3,SWIG_as_voidptrptr(&arg4), 0, 0);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "4"" of type '" "void *""'"); 
+-  }
+-  result = (bool)(arg1)->Set_Parameter((wchar_t const *)arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  int arg3 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Set_Parameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Set_Parameter" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  result = (bool)(arg1)->Set_Parameter((wchar_t const *)arg2,arg3,(wchar_t const *)arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_Parameter(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        void *vptr = 0;
+-        int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Set_Parameter__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          void *ptr = 0;
+-          int res = SWIG_ConvertPtr(argv[3], &ptr, 0, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Set_Parameter__SWIG_3(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_int(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Set_Parameter__SWIG_1(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_double(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Set_Parameter__SWIG_2(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_int(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Set_Parameter__SWIG_4(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Set_Parameter'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Parameter(CSG_Parameters *,wchar_t const *,CSG_Parameter *)\n"
+-    "    Set_Parameter(CSG_Parameters *,wchar_t const *,int,int)\n"
+-    "    Set_Parameter(CSG_Parameters *,wchar_t const *,int,double)\n"
+-    "    Set_Parameter(CSG_Parameters *,wchar_t const *,int,void *)\n"
+-    "    Set_Parameter(CSG_Parameters *,wchar_t const *,int,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Assign(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Parameters_Assign",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Assign" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Assign" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (int)(arg1)->Assign(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Assign_Values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameters *arg2 = (CSG_Parameters *) 0 ;
+-  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:CSG_Parameters_Assign_Values",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Assign_Values" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Assign_Values" "', argument " "2"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameters * >(argp2);
+-  result = (int)(arg1)->Assign_Values(arg2);
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Serialize__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Serialize",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Serialize" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Serialize" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Serialize" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Serialize((CSG_String const &)*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Serialize__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Serialize",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Serialize" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Serialize" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Serialize" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Serialize(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Serialize(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_CSG_String, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Serialize__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Serialize__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Serialize'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Serialize(CSG_Parameters *,CSG_String const &,bool)\n"
+-    "    Serialize(CSG_Parameters *,CSG_MetaData &,bool)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Serialize_Compatibility(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_File *arg2 = 0 ;
+-  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:CSG_Parameters_Serialize_Compatibility",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Serialize_Compatibility" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_File,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Serialize_Compatibility" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Serialize_Compatibility" "', argument " "2"" of type '" "CSG_File &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_File * >(argp2);
+-  result = (bool)(arg1)->Serialize_Compatibility(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_DataObjects_Check__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_DataObjects_Check",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_DataObjects_Check" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_DataObjects_Check" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->DataObjects_Check(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_DataObjects_Check__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_DataObjects_Check",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_DataObjects_Check" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (bool)(arg1)->DataObjects_Check();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_DataObjects_Check(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Parameters_DataObjects_Check__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_DataObjects_Check__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_DataObjects_Check'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    DataObjects_Check(CSG_Parameters *,bool)\n"
+-    "    DataObjects_Check(CSG_Parameters *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Get_String",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Get_String" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Get_String" "', argument " "2"" of type '" "CSG_String &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Get_String" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Get_String(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Msg_String(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Msg_String",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Msg_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Parameters_Msg_String" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (bool)(arg1)->Msg_String(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_History__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  bool arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  bool val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Parameters_Set_History",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_History" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_History" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  ecode4 = SWIG_AsVal_bool(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Parameters_Set_History" "', argument " "4"" of type '" "bool""'");
+-  } 
+-  arg4 = static_cast< bool >(val4);
+-  result = (bool)(arg1)->Set_History(*arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_History__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Parameters_Set_History",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_History" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Parameters_Set_History" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (bool)(arg1)->Set_History(*arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_History__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_MetaData *arg2 = 0 ;
+-  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:CSG_Parameters_Set_History",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Set_History" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_MetaData,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Parameters_Set_History" "', argument " "2"" of type '" "CSG_MetaData &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_MetaData * >(argp2);
+-  result = (bool)(arg1)->Set_History(*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Set_History(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[5];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 4); 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_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Set_History__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Parameters_Set_History__SWIG_1(self, args);
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 4) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_MetaData, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          {
+-            int res = SWIG_AsVal_bool(argv[3], NULL);
+-            _v = SWIG_CheckState(res);
+-          }
+-          if (_v) {
+-            return _wrap_CSG_Parameters_Set_History__SWIG_0(self, args);
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Set_History'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_History(CSG_Parameters *,CSG_MetaData &,bool,bool)\n"
+-    "    Set_History(CSG_Parameters *,CSG_MetaData &,bool)\n"
+-    "    Set_History(CSG_Parameters *,CSG_MetaData &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Grid_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_Get_Grid_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Grid_System" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (CSG_Grid_System *)(arg1)->Get_Grid_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_is_Managed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Parameters_is_Managed",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_is_Managed" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  result = (bool)(arg1)->is_Managed();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Get_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Get_Parameter" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  result = (CSG_Parameter *)(arg1)->Get_Parameter((char const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Get_Parameter(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Get_Parameter__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Get_Parameter__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Get_Parameter__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Get_Parameter'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Parameter(CSG_Parameters *,int)\n"
+-    "    Get_Parameter(CSG_Parameters *,wchar_t const *)\n"
+-    "    Get_Parameter(CSG_Parameters *,char const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters___call____SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters___call__",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters___call__" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters___call__" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  result = (CSG_Parameter *)(arg1)->operator ()((char const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters___call__(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters___call____SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters___call____SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters___call____SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters___call__'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    operator ()(CSG_Parameters *,int)\n"
+-    "    operator ()(CSG_Parameters *,wchar_t const *)\n"
+-    "    operator ()(CSG_Parameters *,char const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Del_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Parameters_Del_Parameter",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Del_Parameter" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  result = (bool)(arg1)->Del_Parameter((char const *)arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Del_Parameter(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Del_Parameter__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Del_Parameter__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Parameters_Del_Parameter__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Del_Parameter'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Del_Parameter(CSG_Parameters *,int)\n"
+-    "    Del_Parameter(CSG_Parameters *,wchar_t const *)\n"
+-    "    Del_Parameter(CSG_Parameters *,char const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Node__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Node",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Node" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Node" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Node" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Node" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Node" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Node(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Node(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Node__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Node__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Node'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Node(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Node(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  bool arg11 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  bool val11 ;
+-  int ecode11 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  PyObject * obj10 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Value" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  ecode11 = SWIG_AsVal_bool(obj10, &val11);
+-  if (!SWIG_IsOK(ecode11)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "CSG_Parameters_Add_Value" "', argument " "11"" of type '" "bool""'");
+-  } 
+-  arg11 = static_cast< bool >(val11);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Value" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Value" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Value" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[12];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 11); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Value__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Value__SWIG_11(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Value__SWIG_4(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Value__SWIG_10(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Value__SWIG_3(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Value__SWIG_9(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_Value__SWIG_2(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_Value__SWIG_8(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_Value__SWIG_1(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_Value__SWIG_7(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 11) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        {
+-                          int res = SWIG_AsVal_bool(argv[10], NULL);
+-                          _v = SWIG_CheckState(res);
+-                        }
+-                        if (_v) {
+-                          return _wrap_CSG_Parameters_Add_Value__SWIG_0(self, args);
+-                        }
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 11) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        {
+-                          int res = SWIG_AsVal_bool(argv[10], NULL);
+-                          _v = SWIG_CheckState(res);
+-                        }
+-                        if (_v) {
+-                          return _wrap_CSG_Parameters_Add_Value__SWIG_6(self, args);
+-                        }
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool,double,bool)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool,double,bool)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double,bool)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double)\n"
+-    "    Add_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Value__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Value__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  TSG_Parameter_Type arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_Value",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Value" "', argument " "6"" of type '" "TSG_Parameter_Type""'");
+-  } 
+-  arg6 = static_cast< TSG_Parameter_Type >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Value(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Value(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_Value__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_Value__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_Value__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_Value__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Info_Value'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Info_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double)\n"
+-    "    Add_Info_Value(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type)\n"
+-    "    Add_Info_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type,double)\n"
+-    "    Add_Info_Value(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,TSG_Parameter_Type)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  bool arg11 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  bool val11 ;
+-  int ecode11 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  PyObject * obj10 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Range" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  ecode11 = SWIG_AsVal_bool(obj10, &val11);
+-  if (!SWIG_IsOK(ecode11)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "CSG_Parameters_Add_Range" "', argument " "11"" of type '" "bool""'");
+-  } 
+-  arg11 = static_cast< bool >(val11);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  double arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  double val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_double(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_Range" "', argument " "10"" of type '" "double""'");
+-  } 
+-  arg10 = static_cast< double >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_Range" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  double arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  double val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  ecode8 = SWIG_AsVal_double(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Range" "', argument " "8"" of type '" "double""'");
+-  } 
+-  arg8 = static_cast< double >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_12(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range__SWIG_13(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Range",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Range(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[12];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 11); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Range__SWIG_6(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Range__SWIG_13(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Range__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Range__SWIG_12(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Range__SWIG_4(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Range__SWIG_11(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Range__SWIG_3(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Range__SWIG_10(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_Range__SWIG_2(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_Range__SWIG_9(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_Range__SWIG_1(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_Range__SWIG_8(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 11) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        {
+-                          int res = SWIG_AsVal_bool(argv[10], NULL);
+-                          _v = SWIG_CheckState(res);
+-                        }
+-                        if (_v) {
+-                          return _wrap_CSG_Parameters_Add_Range__SWIG_0(self, args);
+-                        }
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 11) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_double(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_double(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        {
+-                          int res = SWIG_AsVal_bool(argv[10], NULL);
+-                          _v = SWIG_CheckState(res);
+-                        }
+-                        if (_v) {
+-                          return _wrap_CSG_Parameters_Add_Range__SWIG_7(self, args);
+-                        }
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Range'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double,double,bool,double,bool)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double,double,bool,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double,double,bool)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double,double,bool,double,bool)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double,double,bool,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double,double,bool)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double)\n"
+-    "    Add_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  double arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  double val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  ecode7 = SWIG_AsVal_double(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "7"" of type '" "double""'");
+-  } 
+-  arg7 = static_cast< double >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  double arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  double val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_double(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "6"" of type '" "double""'");
+-  } 
+-  arg6 = static_cast< double >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Info_Range",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_Range" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_Range(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_Range(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Info_Range__SWIG_2(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Info_Range__SWIG_5(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_Range__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_Range__SWIG_4(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_Range__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_double(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_double(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_Range__SWIG_3(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Info_Range'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double,double)\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,double)\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double,double)\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,double)\n"
+-    "    Add_Info_Range(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Choice__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  int arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Choice",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Choice" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Choice" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Choice" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Choice" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Choice" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Choice" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Choice" "', argument " "7"" of type '" "int""'");
+-  } 
+-  arg7 = static_cast< int >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Choice(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Choice__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Choice",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Choice" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Choice" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Choice" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Choice" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Choice" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Choice" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_Choice(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Choice(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Choice__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Choice__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Choice__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Choice__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Choice'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Choice(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Choice(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Choice(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Choice(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  bool arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_String" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_String" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_String(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_String(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[9];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 8); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_String__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_String__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_String__SWIG_1(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_String__SWIG_4(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_String__SWIG_0(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_String__SWIG_3(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_String'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool)\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool)\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_String(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_String__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Info_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_String(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_String__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Info_String",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Info_String" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_Info_String(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Info_String(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_String__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Info_String__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_String__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Info_String__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Info_String'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Info_String(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_Info_String(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Info_String(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_Info_String(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_6(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  bool arg9 ;
+-  bool arg10 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  bool val10 ;
+-  int ecode10 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  PyObject * obj9 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  ecode10 = SWIG_AsVal_bool(obj9, &val10);
+-  if (!SWIG_IsOK(ecode10)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "10"" of type '" "bool""'");
+-  } 
+-  arg10 = static_cast< bool >(val10);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8,arg9,arg10);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_7(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  bool arg9 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  bool val9 ;
+-  int ecode9 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  PyObject * obj8 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  ecode9 = SWIG_AsVal_bool(obj8, &val9);
+-  if (!SWIG_IsOK(ecode9)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "9"" of type '" "bool""'");
+-  } 
+-  arg9 = static_cast< bool >(val9);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8,arg9);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  bool arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  bool val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  ecode8 = SWIG_AsVal_bool(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "8"" of type '" "bool""'");
+-  } 
+-  arg8 = static_cast< bool >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_9(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  wchar_t *arg7 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  int res7 ;
+-  wchar_t *buf7 = 0 ;
+-  int alloc7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  res7 = SWIG_AsWCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+-  if (!SWIG_IsOK(res7)) {
+-    SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "7"" of type '" "wchar_t const *""'");
+-  }
+-  arg7 = reinterpret_cast< wchar_t * >(buf7);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6,(wchar_t const *)arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_10(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wchar_t *arg6 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int res6 ;
+-  wchar_t *buf6 = 0 ;
+-  int alloc6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_AsWCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "6"" of type '" "wchar_t const *""'");
+-  }
+-  arg6 = reinterpret_cast< wchar_t * >(buf6);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,(wchar_t const *)arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath__SWIG_11(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_FilePath",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FilePath" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_FilePath(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FilePath(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[11];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 10); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_FilePath__SWIG_5(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_FilePath__SWIG_11(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_FilePath__SWIG_4(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_FilePath__SWIG_10(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_FilePath__SWIG_3(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_FilePath__SWIG_9(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_FilePath__SWIG_2(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_FilePath__SWIG_8(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_FilePath__SWIG_1(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 9) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      return _wrap_CSG_Parameters_Add_FilePath__SWIG_7(self, args);
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_bool(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_FilePath__SWIG_0(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 10) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              int res = SWIG_AsWCharPtrAndSize(argv[5], 0, NULL, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                int res = SWIG_AsWCharPtrAndSize(argv[6], 0, NULL, 0);
+-                _v = SWIG_CheckState(res);
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_bool(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    {
+-                      int res = SWIG_AsVal_bool(argv[8], NULL);
+-                      _v = SWIG_CheckState(res);
+-                    }
+-                    if (_v) {
+-                      {
+-                        int res = SWIG_AsVal_bool(argv[9], NULL);
+-                        _v = SWIG_CheckState(res);
+-                      }
+-                      if (_v) {
+-                        return _wrap_CSG_Parameters_Add_FilePath__SWIG_6(self, args);
+-                      }
+-                    }
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_FilePath'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FilePath(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Font__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  wxFont *arg6 = (wxFont *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Font",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Font" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Font" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Font" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Font" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Font" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_wxFont, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Font" "', argument " "6"" of type '" "wxFont *""'"); 
+-  }
+-  arg6 = reinterpret_cast< wxFont * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Font(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Font__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Font",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Font" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Font" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Font" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Font" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Font" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Font(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Font(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Font__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Font__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_wxFont, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Font__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_wxFont, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Font__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Font'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Font(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,wxFont *)\n"
+-    "    Add_Font(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Font(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,wxFont *)\n"
+-    "    Add_Font(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Colors__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Colors *arg6 = (CSG_Colors *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Colors",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Colors" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Colors" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Colors" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Colors" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Colors" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Colors, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Colors" "', argument " "6"" of type '" "CSG_Colors *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Colors * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Colors(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Colors__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Colors",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Colors" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Colors" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Colors" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Colors" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Colors" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Colors(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Colors(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Colors__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Colors__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Colors__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Colors, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Colors__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Colors'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Colors(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,CSG_Colors *)\n"
+-    "    Add_Colors(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Colors(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,CSG_Colors *)\n"
+-    "    Add_Colors(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FixedTable__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Table *arg6 = (CSG_Table *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_FixedTable",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Table, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "6"" of type '" "CSG_Table *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Table * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_FixedTable(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FixedTable__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_FixedTable",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_FixedTable" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_FixedTable(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_FixedTable(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_FixedTable__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_FixedTable__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_FixedTable__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Table, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_FixedTable__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_FixedTable'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_FixedTable(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,CSG_Table *)\n"
+-    "    Add_FixedTable(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_FixedTable(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,CSG_Table *)\n"
+-    "    Add_FixedTable(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_System__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  CSG_Grid_System *arg6 = (CSG_Grid_System *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  void *argp6 = 0 ;
+-  int res6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  res6 = SWIG_ConvertPtr(obj5, &argp6,SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  if (!SWIG_IsOK(res6)) {
+-    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "6"" of type '" "CSG_Grid_System *""'"); 
+-  }
+-  arg6 = reinterpret_cast< CSG_Grid_System * >(argp6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_System(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_System__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Grid_System",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_System" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_System(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_System(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Grid_System__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Grid_System__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid_System__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              void *vptr = 0;
+-              int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_CSG_Grid_System, 0);
+-              _v = SWIG_CheckState(res);
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid_System__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Grid_System'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Grid_System(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,CSG_Grid_System *)\n"
+-    "    Add_Grid_System(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Grid_System(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,CSG_Grid_System *)\n"
+-    "    Add_Grid_System(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  TSG_Data_Type arg8 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  int val8 ;
+-  int ecode8 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  PyObject * obj7 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  ecode8 = SWIG_AsVal_int(obj7, &val8);
+-  if (!SWIG_IsOK(ecode8)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "CSG_Parameters_Add_Grid" "', argument " "8"" of type '" "TSG_Data_Type""'");
+-  } 
+-  arg8 = static_cast< TSG_Data_Type >(val8);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7,arg8);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_4(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid__SWIG_5(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[9];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 8); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid__SWIG_5(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Grid__SWIG_1(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Grid__SWIG_4(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_int(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Grid__SWIG_0(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 8) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  {
+-                    int res = SWIG_AsVal_int(argv[7], NULL);
+-                    _v = SWIG_CheckState(res);
+-                  }
+-                  if (_v) {
+-                    return _wrap_CSG_Parameters_Add_Grid__SWIG_3(self, args);
+-                  }
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int,bool,TSG_Data_Type)\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int,bool)\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int,bool,TSG_Data_Type)\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int,bool)\n"
+-    "    Add_Grid(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_Output__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Grid_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_Output(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_Output(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Grid_Output__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Grid_Output__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Grid_Output'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Grid_Output(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Grid_Output(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_List__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  bool arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  bool val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Grid_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_bool(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "7"" of type '" "bool""'");
+-  } 
+-  arg7 = static_cast< bool >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_List__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Grid_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Grid_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Grid_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Grid_List(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid_List__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Grid_List__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Grid_List__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_bool(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Grid_List__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Grid_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Grid_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int,bool)\n"
+-    "    Add_Grid_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Grid_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int,bool)\n"
+-    "    Add_Grid_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Field__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  bool arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  bool val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table_Field",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_bool(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "6"" of type '" "bool""'");
+-  } 
+-  arg6 = static_cast< bool >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Field(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Field__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Table_Field",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Field" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Field(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Field(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Table_Field__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Table_Field__SWIG_3(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table_Field__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_bool(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table_Field__SWIG_2(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Table_Field'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Table_Field(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_Table_Field(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Table_Field(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,bool)\n"
+-    "    Add_Table_Field(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Table'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Table(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Table(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Output__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Table_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_Output(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_Output(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Table_Output__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Table_Output__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Table_Output'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Table_Output(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Table_Output(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Table_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Table_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Table_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Table_List(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table_List__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Table_List__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Table_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Table_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Table_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  TSG_Shape_Type arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Shapes",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "7"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Shape_Type >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Shapes",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Shapes__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Shapes__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Shapes__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Shapes__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Shapes'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Shapes(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int,TSG_Shape_Type)\n"
+-    "    Add_Shapes(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Shapes(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int,TSG_Shape_Type)\n"
+-    "    Add_Shapes(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_Output__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Shapes_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_Output(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_Output(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Shapes_Output__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Shapes_Output__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Shapes_Output'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Shapes_Output(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Shapes_Output(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_List__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  TSG_Shape_Type arg7 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  int val7 ;
+-  int ecode7 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  PyObject * obj6 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:CSG_Parameters_Add_Shapes_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  ecode7 = SWIG_AsVal_int(obj6, &val7);
+-  if (!SWIG_IsOK(ecode7)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "7"" of type '" "TSG_Shape_Type""'");
+-  } 
+-  arg7 = static_cast< TSG_Shape_Type >(val7);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6,arg7);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_List__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_Shapes_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_Shapes_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_Shapes_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Shapes_List(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[8];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Shapes_List__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_Shapes_List__SWIG_3(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Shapes_List__SWIG_0(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 7) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                {
+-                  int res = SWIG_AsVal_int(argv[6], NULL);
+-                  _v = SWIG_CheckState(res);
+-                }
+-                if (_v) {
+-                  return _wrap_CSG_Parameters_Add_Shapes_List__SWIG_2(self, args);
+-                }
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Shapes_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Shapes_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int,TSG_Shape_Type)\n"
+-    "    Add_Shapes_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_Shapes_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int,TSG_Shape_Type)\n"
+-    "    Add_Shapes_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_TIN",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_TIN" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_TIN__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_TIN__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_TIN'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_TIN(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_TIN(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_Output__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_TIN_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN_Output(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_Output(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_TIN_Output__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_TIN_Output__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_TIN_Output'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_TIN_Output(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_TIN_Output(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_TIN_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_TIN_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_TIN_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_TIN_List(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_TIN_List__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_TIN_List__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_TIN_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_TIN_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_TIN_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_PointCloud",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_PointCloud" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_PointCloud__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_PointCloud__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_PointCloud'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_PointCloud(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_PointCloud(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_Output__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_PointCloud_Output",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud_Output" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud_Output(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_Output(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_PointCloud_Output__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_PointCloud_Output__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_PointCloud_Output'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_PointCloud_Output(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_PointCloud_Output(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_List__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  int arg6 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  int val6 ;
+-  int ecode6 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  PyObject * obj5 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CSG_Parameters_Add_PointCloud_List",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+-  if (!SWIG_IsOK(ecode6)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CSG_Parameters_Add_PointCloud_List" "', argument " "6"" of type '" "int""'");
+-  } 
+-  arg6 = static_cast< int >(val6);
+-  result = (CSG_Parameter *)(arg1)->Add_PointCloud_List(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_PointCloud_List(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[7];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_PointCloud_List__SWIG_0(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 6) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              {
+-                int res = SWIG_AsVal_int(argv[5], NULL);
+-                _v = SWIG_CheckState(res);
+-              }
+-              if (_v) {
+-                return _wrap_CSG_Parameters_Add_PointCloud_List__SWIG_1(self, args);
+-              }
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_PointCloud_List'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_PointCloud_List(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *,int)\n"
+-    "    Add_PointCloud_List(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Parameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Parameters *arg1 = (CSG_Parameters *) 0 ;
+-  CSG_Parameter *arg2 = (CSG_Parameter *) 0 ;
+-  char *arg3 = (char *) 0 ;
+-  wchar_t *arg4 = (wchar_t *) 0 ;
+-  wchar_t *arg5 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 = 0 ;
+-  int res2 = 0 ;
+-  int res3 ;
+-  char *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  int res4 ;
+-  wchar_t *buf4 = 0 ;
+-  int alloc4 = 0 ;
+-  int res5 ;
+-  wchar_t *buf5 = 0 ;
+-  int alloc5 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  PyObject * obj4 = 0 ;
+-  CSG_Parameter *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CSG_Parameters_Add_Parameters",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "1"" of type '" "CSG_Parameters *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Parameters * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "2"" of type '" "CSG_Parameter *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Parameter * >(argp2);
+-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "3"" of type '" "char const *""'");
+-  }
+-  arg3 = reinterpret_cast< char * >(buf3);
+-  res4 = SWIG_AsWCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+-  if (!SWIG_IsOK(res4)) {
+-    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "4"" of type '" "wchar_t const *""'");
+-  }
+-  arg4 = reinterpret_cast< wchar_t * >(buf4);
+-  res5 = SWIG_AsWCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+-  if (!SWIG_IsOK(res5)) {
+-    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CSG_Parameters_Add_Parameters" "', argument " "5"" of type '" "wchar_t const *""'");
+-  }
+-  arg5 = reinterpret_cast< wchar_t * >(buf5);
+-  result = (CSG_Parameter *)(arg1)->Add_Parameters(arg2,(char const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameter, 0 |  0 );
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
+-  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Parameters_Add_Parameters(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[6];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsWCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Parameters__SWIG_0(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  if (argc == 5) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Parameters, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      void *vptr = 0;
+-      int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CSG_Parameter, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
+-        _v = SWIG_CheckState(res);
+-        if (_v) {
+-          int res = SWIG_AsWCharPtrAndSize(argv[3], 0, NULL, 0);
+-          _v = SWIG_CheckState(res);
+-          if (_v) {
+-            int res = SWIG_AsWCharPtrAndSize(argv[4], 0, NULL, 0);
+-            _v = SWIG_CheckState(res);
+-            if (_v) {
+-              return _wrap_CSG_Parameters_Add_Parameters__SWIG_1(self, args);
+-            }
+-          }
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Parameters_Add_Parameters'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Add_Parameters(CSG_Parameters *,CSG_Parameter *,wchar_t const *,wchar_t const *,wchar_t const *)\n"
+-    "    Add_Parameters(CSG_Parameters *,CSG_Parameter *,char const *,wchar_t const *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Parameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Parameters, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Destroy" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  (arg1)->Destroy();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Module_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Type" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (TSG_Module_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Name" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Description" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Description();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Author(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Author",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Author" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Author();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Icon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Icon",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Icon" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_Icon();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_MenuPath(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_MenuPath",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_MenuPath" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_MenuPath();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Parameters_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Parameters_Count" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (int)(arg1)->Get_Parameters_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Get_Parameters",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Parameters" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (CSG_Parameters *)(arg1)->Get_Parameters();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Get_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Parameters" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Get_Parameters" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Parameters *)(arg1)->Get_Parameters(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Get_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Parameters" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Get_Parameters" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Parameters *)(arg1)->Get_Parameters((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  char *arg2 = (char *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  char *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Parameters *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Get_Parameters",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Get_Parameters" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Get_Parameters" "', argument " "2"" of type '" "char const *""'");
+-  }
+-  arg2 = reinterpret_cast< char * >(buf2);
+-  result = (CSG_Parameters *)(arg1)->Get_Parameters((char const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Parameters, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Get_Parameters(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Module_Get_Parameters__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Get_Parameters__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Get_Parameters__SWIG_2(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Get_Parameters__SWIG_3(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Get_Parameters'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Parameters(CSG_Module *)\n"
+-    "    Get_Parameters(CSG_Module *,int)\n"
+-    "    Get_Parameters(CSG_Module *,wchar_t const *)\n"
+-    "    Get_Parameters(CSG_Module *,char const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Garbage_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Garbage_Get_Count" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (int)(arg1)->Garbage_Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Get_Item(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Garbage_Get_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Garbage_Get_Item" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Garbage_Get_Item" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Data_Object *)(arg1)->Garbage_Get_Item(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Del_Item__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  int arg2 ;
+-  bool arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  bool val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Module_Garbage_Del_Item",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Garbage_Del_Item" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Garbage_Del_Item" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_bool(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Module_Garbage_Del_Item" "', argument " "3"" of type '" "bool""'");
+-  } 
+-  arg3 = static_cast< bool >(val3);
+-  result = (CSG_Data_Object *)(arg1)->Garbage_Del_Item(arg2,arg3);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Del_Item__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Data_Object *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Garbage_Del_Item",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Garbage_Del_Item" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Garbage_Del_Item" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Data_Object *)(arg1)->Garbage_Del_Item(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Data_Object, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Del_Item(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[4];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Garbage_Del_Item__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 3) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        {
+-          int res = SWIG_AsVal_bool(argv[2], NULL);
+-          _v = SWIG_CheckState(res);
+-        }
+-        if (_v) {
+-          return _wrap_CSG_Module_Garbage_Del_Item__SWIG_0(self, args);
+-        }
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Garbage_Del_Item'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Garbage_Del_Item(CSG_Module *,int,bool)\n"
+-    "    Garbage_Del_Item(CSG_Module *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Garbage_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Garbage_Clear",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Garbage_Clear" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  (arg1)->Garbage_Clear();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_do_Sync_Projections(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_do_Sync_Projections",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_do_Sync_Projections" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->do_Sync_Projections();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_is_Interactive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_is_Interactive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_is_Interactive" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->is_Interactive();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_is_Progress(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_is_Progress",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_is_Progress" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->is_Progress();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_is_Executing(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_is_Executing",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_is_Executing" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->is_Executing();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Translation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  CSG_Translator *arg2 = 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:CSG_Module_Set_Translation",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Set_Translation" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Translator,  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Set_Translation" "', argument " "2"" of type '" "CSG_Translator &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Module_Set_Translation" "', argument " "2"" of type '" "CSG_Translator &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Translator * >(argp2);
+-  (arg1)->Set_Translation(*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Managed__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Set_Managed",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Set_Managed" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Set_Managed" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Managed(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Managed__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Set_Managed",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Set_Managed" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  (arg1)->Set_Managed();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Managed(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Module_Set_Managed__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Set_Managed__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Set_Managed'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Managed(CSG_Module *,bool)\n"
+-    "    Set_Managed(CSG_Module *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Show_Progress__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Set_Show_Progress",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Set_Show_Progress" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Set_Show_Progress" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  (arg1)->Set_Show_Progress(arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Show_Progress__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Set_Show_Progress",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Set_Show_Progress" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  (arg1)->Set_Show_Progress();
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Set_Show_Progress(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Module_Set_Show_Progress__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Set_Show_Progress__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Set_Show_Progress'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Set_Show_Progress(CSG_Module *,bool)\n"
+-    "    Set_Show_Progress(CSG_Module *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_On_Before_Execution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_On_Before_Execution",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_On_Before_Execution" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->On_Before_Execution();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_On_After_Execution(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_On_After_Execution",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_On_After_Execution" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->On_After_Execution();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module *arg1 = (CSG_Module *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Execute",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Execute" "', argument " "1"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module * >(argp1);
+-  result = (bool)(arg1)->Execute();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Grid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid *arg1 = (CSG_Module_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Grid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Grid" "', argument " "1"" of type '" "CSG_Module_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Grid_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid *arg1 = (CSG_Module_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Module_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Grid_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Grid_Get_Type" "', argument " "1"" of type '" "CSG_Module_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid * >(argp1);
+-  result = (TSG_Module_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Grid_Get_System(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid *arg1 = (CSG_Module_Grid *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Grid_System *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Grid_Get_System",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Grid_Get_System" "', argument " "1"" of type '" "CSG_Module_Grid *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid * >(argp1);
+-  result = (CSG_Grid_System *)(arg1)->Get_System();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Grid_System, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Grid_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Grid, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Module_Interactive_Base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Module_Interactive_Base")) SWIG_fail;
+-  result = (CSG_Module_Interactive_Base *)new CSG_Module_Interactive_Base();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Interactive_Base, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Interactive_Base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *arg1 = (CSG_Module_Interactive_Base *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Interactive_Base",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive_Base, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Interactive_Base" "', argument " "1"" of type '" "CSG_Module_Interactive_Base *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive_Base * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_Base_Execute_Position(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *arg1 = (CSG_Module_Interactive_Base *) 0 ;
+-  CSG_Point arg2 ;
+-  TSG_Module_Interactive_Mode arg3 ;
+-  int arg4 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  void *argp2 ;
+-  int res2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  int val4 ;
+-  int ecode4 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  PyObject * obj3 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CSG_Module_Interactive_Base_Execute_Position",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive_Base, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_Base_Execute_Position" "', argument " "1"" of type '" "CSG_Module_Interactive_Base *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive_Base * >(argp1);
+-  {
+-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_Point,  0  | 0);
+-    if (!SWIG_IsOK(res2)) {
+-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Interactive_Base_Execute_Position" "', argument " "2"" of type '" "CSG_Point""'"); 
+-    }  
+-    if (!argp2) {
+-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Module_Interactive_Base_Execute_Position" "', argument " "2"" of type '" "CSG_Point""'");
+-    } else {
+-      CSG_Point * temp = reinterpret_cast< CSG_Point * >(argp2);
+-      arg2 = *temp;
+-      if (SWIG_IsNewObj(res2)) delete temp;
+-    }
+-  }
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Module_Interactive_Base_Execute_Position" "', argument " "3"" of type '" "TSG_Module_Interactive_Mode""'");
+-  } 
+-  arg3 = static_cast< TSG_Module_Interactive_Mode >(val3);
+-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+-  if (!SWIG_IsOK(ecode4)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CSG_Module_Interactive_Base_Execute_Position" "', argument " "4"" of type '" "int""'");
+-  } 
+-  arg4 = static_cast< int >(val4);
+-  result = (bool)(arg1)->Execute_Position(arg2,arg3,arg4);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_Base_Execute_Keyboard(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *arg1 = (CSG_Module_Interactive_Base *) 0 ;
+-  int arg2 ;
+-  int arg3 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int val3 ;
+-  int ecode3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Module_Interactive_Base_Execute_Keyboard",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive_Base, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_Base_Execute_Keyboard" "', argument " "1"" of type '" "CSG_Module_Interactive_Base *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive_Base * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Interactive_Base_Execute_Keyboard" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+-  if (!SWIG_IsOK(ecode3)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CSG_Module_Interactive_Base_Execute_Keyboard" "', argument " "3"" of type '" "int""'");
+-  } 
+-  arg3 = static_cast< int >(val3);
+-  result = (bool)(arg1)->Execute_Keyboard(arg2,arg3);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_Base_Execute_Finish(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *arg1 = (CSG_Module_Interactive_Base *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Interactive_Base_Execute_Finish",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive_Base, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_Base_Execute_Finish" "', argument " "1"" of type '" "CSG_Module_Interactive_Base *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive_Base * >(argp1);
+-  result = (bool)(arg1)->Execute_Finish();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_Base_Get_Drag_Mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive_Base *arg1 = (CSG_Module_Interactive_Base *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Interactive_Base_Get_Drag_Mode",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive_Base, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_Base_Get_Drag_Mode" "', argument " "1"" of type '" "CSG_Module_Interactive_Base *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive_Base * >(argp1);
+-  result = (int)(arg1)->Get_Drag_Mode();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Interactive_Base_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Interactive_Base, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Interactive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive *arg1 = (CSG_Module_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Interactive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Interactive" "', argument " "1"" of type '" "CSG_Module_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive *arg1 = (CSG_Module_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Module_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Interactive_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_Get_Type" "', argument " "1"" of type '" "CSG_Module_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive * >(argp1);
+-  result = (TSG_Module_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Interactive_is_Interactive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Interactive *arg1 = (CSG_Module_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Interactive_is_Interactive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Interactive, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Interactive_is_Interactive" "', argument " "1"" of type '" "CSG_Module_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Interactive * >(argp1);
+-  result = (bool)(arg1)->is_Interactive();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Interactive_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Interactive, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Grid_Interactive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid_Interactive *arg1 = (CSG_Module_Grid_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Grid_Interactive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid_Interactive, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Grid_Interactive" "', argument " "1"" of type '" "CSG_Module_Grid_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid_Interactive * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Grid_Interactive_Get_Type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid_Interactive *arg1 = (CSG_Module_Grid_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  TSG_Module_Type result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Grid_Interactive_Get_Type",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid_Interactive, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Grid_Interactive_Get_Type" "', argument " "1"" of type '" "CSG_Module_Grid_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid_Interactive * >(argp1);
+-  result = (TSG_Module_Type)(arg1)->Get_Type();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Grid_Interactive_is_Interactive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Grid_Interactive *arg1 = (CSG_Module_Grid_Interactive *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Grid_Interactive_is_Interactive",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Grid_Interactive, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Grid_Interactive_is_Interactive" "', argument " "1"" of type '" "CSG_Module_Grid_Interactive *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Grid_Interactive * >(argp1);
+-  result = (bool)(arg1)->is_Interactive();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Grid_Interactive_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Grid_Interactive, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Module_Library_Interface(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Module_Library_Interface")) SWIG_fail;
+-  result = (CSG_Module_Library_Interface *)new CSG_Module_Library_Interface();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Library_Interface, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Library_Interface(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Library_Interface",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Library_Interface" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Set_Info(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  int arg2 ;
+-  wchar_t *arg3 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  int res3 ;
+-  wchar_t *buf3 = 0 ;
+-  int alloc3 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  PyObject * obj2 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OOO:CSG_Module_Library_Interface_Set_Info",&obj0,&obj1,&obj2)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Set_Info" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Interface_Set_Info" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  res3 = SWIG_AsWCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+-  if (!SWIG_IsOK(res3)) {
+-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CSG_Module_Library_Interface_Set_Info" "', argument " "3"" of type '" "wchar_t const *""'");
+-  }
+-  arg3 = reinterpret_cast< wchar_t * >(buf3);
+-  (arg1)->Set_Info(arg2,(wchar_t const *)arg3);
+-  resultobj = SWIG_Py_Void();
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return resultobj;
+-fail:
+-  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Get_Info(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Interface_Get_Info",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Get_Info" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Interface_Get_Info" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)(arg1)->Get_Info(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Interface_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Get_Count" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Add_Module(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  CSG_Module *arg2 = (CSG_Module *) 0 ;
+-  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:CSG_Module_Library_Interface_Add_Module",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Add_Module" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Interface_Add_Module" "', argument " "2"" of type '" "CSG_Module *""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_Module * >(argp2);
+-  result = (bool)(arg1)->Add_Module(arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Get_Module(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Interface_Get_Module",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Get_Module" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Interface_Get_Module" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Module *)(arg1)->Get_Module(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Set_File_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  CSG_String *arg2 = 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:CSG_Module_Library_Interface_Set_File_Name",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Set_File_Name" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Interface_Set_File_Name" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Module_Library_Interface_Set_File_Name" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  (arg1)->Set_File_Name((CSG_String const &)*arg2);
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Get_File_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Interface_Get_File_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Get_File_Name" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  result = (wchar_t *)(arg1)->Get_File_Name();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Interface_Get_Translation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library_Interface *arg1 = (CSG_Module_Library_Interface *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Interface_Get_Translation",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library_Interface, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Interface_Get_Translation" "', argument " "1"" of type '" "CSG_Module_Library_Interface *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library_Interface * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Interface_Get_Translation" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (wchar_t *)(arg1)->Get_Translation((wchar_t const *)arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Library_Interface_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Library_Interface, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Module_Library__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":new_CSG_Module_Library")) SWIG_fail;
+-  result = (CSG_Module_Library *)new CSG_Module_Library();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Library, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_delete_CSG_Module_Library(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CSG_Module_Library",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, SWIG_POINTER_DISOWN |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CSG_Module_Library" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  delete arg1;
+-  resultobj = SWIG_Py_Void();
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Module_Library__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_String *arg1 = 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_Module_Library *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:new_CSG_Module_Library",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_CSG_Module_Library" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp1) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_CSG_Module_Library" "', argument " "1"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_String * >(argp1);
+-  result = (CSG_Module_Library *)new CSG_Module_Library((CSG_String const &)*arg1);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Library, SWIG_POINTER_NEW |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_new_CSG_Module_Library(PyObject *self, PyObject *args) {
+-  int argc;
+-  PyObject *argv[2];
+-  int ii;
+-  
+-  if (!PyTuple_Check(args)) SWIG_fail;
+-  argc = (int)PyObject_Length(args);
+-  for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+-    argv[ii] = PyTuple_GET_ITEM(args,ii);
+-  }
+-  if (argc == 0) {
+-    return _wrap_new_CSG_Module_Library__SWIG_0(self, args);
+-  }
+-  if (argc == 1) {
+-    int _v;
+-    int res = SWIG_ConvertPtr(argv[0], 0, SWIGTYPE_p_CSG_String, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_new_CSG_Module_Library__SWIG_1(self, args);
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_CSG_Module_Library'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    CSG_Module_Library()\n"
+-    "    CSG_Module_Library(CSG_String const &)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Create(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  CSG_String *arg2 = 0 ;
+-  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:CSG_Module_Library_Create",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Create" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CSG_String,  0  | 0);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  if (!argp2) {
+-    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CSG_Module_Library_Create" "', argument " "2"" of type '" "CSG_String const &""'"); 
+-  }
+-  arg2 = reinterpret_cast< CSG_String * >(argp2);
+-  result = (bool)(arg1)->Create((CSG_String const &)*arg2);
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Destroy",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Destroy" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (bool)(arg1)->Destroy();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_is_Valid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  bool result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_is_Valid",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_is_Valid" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (bool)(arg1)->is_Valid();
+-  resultobj = SWIG_From_bool(static_cast< bool >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_File_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_File_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_File_Name" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (CSG_String *) &(arg1)->Get_File_Name();
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_String, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Info(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Info",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Info" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Info" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (wchar_t *)(arg1)->Get_Info(arg2);
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Name",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Name" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Name();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Description",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Description" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Description();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Author(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Author",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Author" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Author();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Version(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Version",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Version" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Version();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Menu__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Menu",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Menu" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Menu();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Summary__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  bool arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  bool val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Summary",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Summary" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Summary" "', argument " "2"" of type '" "bool""'");
+-  } 
+-  arg2 = static_cast< bool >(val2);
+-  result = (arg1)->Get_Summary(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Summary__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Summary",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Summary" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (arg1)->Get_Summary();
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Summary(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Module_Library_Get_Summary__SWIG_1(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_bool(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Summary__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Summary'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Summary(CSG_Module_Library *,bool)\n"
+-    "    Get_Summary(CSG_Module_Library *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Count(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  int result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"O:CSG_Module_Library_Get_Count",&obj0)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Count" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  result = (int)(arg1)->Get_Count();
+-  resultobj = SWIG_From_int(static_cast< int >(result));
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Module" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Module *)(arg1)->Get_Module(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Get_Module" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Module *)(arg1)->Get_Module((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Module'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Module(CSG_Module_Library *,int)\n"
+-    "    Get_Module(CSG_Module_Library *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_Grid" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Module_Grid" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Module_Grid *)(arg1)->Get_Module_Grid(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Grid, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Grid *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_Grid",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_Grid" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Get_Module_Grid" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Module_Grid *)(arg1)->Get_Module_Grid((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Grid, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_Grid__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_Grid__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Module_Grid'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Module_Grid(CSG_Module_Library *,int)\n"
+-    "    Get_Module_Grid(CSG_Module_Library *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_I__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Interactive *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_I",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_I" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Module_I" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Module_Interactive *)(arg1)->Get_Module_I(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Interactive, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_I__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Interactive *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_I",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_I" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Get_Module_I" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Module_Interactive *)(arg1)->Get_Module_I((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Interactive, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_I(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_I__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_I__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Module_I'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Module_I(CSG_Module_Library *,int)\n"
+-    "    Get_Module_I(CSG_Module_Library *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid_I__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Grid_Interactive *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_Grid_I",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_Grid_I" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Module_Grid_I" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (CSG_Module_Grid_Interactive *)(arg1)->Get_Module_Grid_I(arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Grid_Interactive, 0 |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid_I__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  wchar_t *arg2 = (wchar_t *) 0 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int res2 ;
+-  wchar_t *buf2 = 0 ;
+-  int alloc2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_Module_Grid_Interactive *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Module_Grid_I",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Module_Grid_I" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  res2 = SWIG_AsWCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+-  if (!SWIG_IsOK(res2)) {
+-    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CSG_Module_Library_Get_Module_Grid_I" "', argument " "2"" of type '" "wchar_t const *""'");
+-  }
+-  arg2 = reinterpret_cast< wchar_t * >(buf2);
+-  result = (CSG_Module_Grid_Interactive *)(arg1)->Get_Module_Grid_I((wchar_t const *)arg2);
+-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CSG_Module_Grid_Interactive, 0 |  0 );
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return resultobj;
+-fail:
+-  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Module_Grid_I(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;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_Grid_I__SWIG_0(self, args);
+-      }
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      int res = SWIG_AsWCharPtrAndSize(argv[1], 0, NULL, 0);
+-      _v = SWIG_CheckState(res);
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Module_Grid_I__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Module_Grid_I'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Module_Grid_I(CSG_Module_Library *,int)\n"
+-    "    Get_Module_Grid_I(CSG_Module_Library *,wchar_t const *)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Menu__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  CSG_Module_Library *arg1 = (CSG_Module_Library *) 0 ;
+-  int arg2 ;
+-  void *argp1 = 0 ;
+-  int res1 = 0 ;
+-  int val2 ;
+-  int ecode2 = 0 ;
+-  PyObject * obj0 = 0 ;
+-  PyObject * obj1 = 0 ;
+-  CSG_String result;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)"OO:CSG_Module_Library_Get_Menu",&obj0,&obj1)) SWIG_fail;
+-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CSG_Module_Library, 0 |  0 );
+-  if (!SWIG_IsOK(res1)) {
+-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CSG_Module_Library_Get_Menu" "', argument " "1"" of type '" "CSG_Module_Library *""'"); 
+-  }
+-  arg1 = reinterpret_cast< CSG_Module_Library * >(argp1);
+-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+-  if (!SWIG_IsOK(ecode2)) {
+-    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CSG_Module_Library_Get_Menu" "', argument " "2"" of type '" "int""'");
+-  } 
+-  arg2 = static_cast< int >(val2);
+-  result = (arg1)->Get_Menu(arg2);
+-  resultobj = SWIG_NewPointerObj((new CSG_String(static_cast< const CSG_String& >(result))), SWIGTYPE_p_CSG_String, SWIG_POINTER_OWN |  0 );
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *_wrap_CSG_Module_Library_Get_Menu(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 == 1) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      return _wrap_CSG_Module_Library_Get_Menu__SWIG_0(self, args);
+-    }
+-  }
+-  if (argc == 2) {
+-    int _v;
+-    void *vptr = 0;
+-    int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CSG_Module_Library, 0);
+-    _v = SWIG_CheckState(res);
+-    if (_v) {
+-      {
+-        int res = SWIG_AsVal_int(argv[1], NULL);
+-        _v = SWIG_CheckState(res);
+-      }
+-      if (_v) {
+-        return _wrap_CSG_Module_Library_Get_Menu__SWIG_1(self, args);
+-      }
+-    }
+-  }
+-  
+-fail:
+-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CSG_Module_Library_Get_Menu'.\n"
+-    "  Possible C/C++ prototypes are:\n"
+-    "    Get_Menu(CSG_Module_Library *)\n"
+-    "    Get_Menu(CSG_Module_Library *,int)\n");
+-  return NULL;
+-}
+-
+-
+-SWIGINTERN PyObject *CSG_Module_Library_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *obj;
+-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+-  SWIG_TypeNewClientData(SWIGTYPE_p_CSG_Module_Library, SWIG_NewClientData(obj));
+-  return SWIG_Py_Void();
+-}
+-
+-SWIGINTERN PyObject *_wrap_SAGA_API_Get_Version(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+-  PyObject *resultobj = 0;
+-  wchar_t *result = 0 ;
+-  
+-  if (!PyArg_ParseTuple(args,(char *)":SAGA_API_Get_Version")) SWIG_fail;
+-  result = (wchar_t *)SAGA_API_Get_Version();
+-  resultobj = SWIG_FromWCharPtr((const wchar_t *)result);
+-  return resultobj;
+-fail:
+-  return NULL;
+-}
+-
+-
+-static PyMethodDef SwigMethods[] = {
+-	 { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL},
+-	 { (char *)"SG_Malloc", _wrap_SG_Malloc, METH_VARARGS, NULL},
+-	 { (char *)"SG_Calloc", _wrap_SG_Calloc, METH_VARARGS, NULL},
+-	 { (char *)"SG_Realloc", _wrap_SG_Realloc, METH_VARARGS, NULL},
+-	 { (char *)"SG_Free", _wrap_SG_Free, METH_VARARGS, NULL},
+-	 { (char *)"SG_Swap_Bytes", _wrap_SG_Swap_Bytes, METH_VARARGS, NULL},
+-	 { (char *)"SG_Mem_Get_Int", _wrap_SG_Mem_Get_Int, METH_VARARGS, NULL},
+-	 { (char *)"SG_Mem_Set_Int", _wrap_SG_Mem_Set_Int, METH_VARARGS, NULL},
+-	 { (char *)"SG_Mem_Get_Double", _wrap_SG_Mem_Get_Double, METH_VARARGS, NULL},
+-	 { (char *)"SG_Mem_Set_Double", _wrap_SG_Mem_Set_Double, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_String", _wrap_new_CSG_String, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_String", _wrap_delete_CSG_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_c_str", _wrap_CSG_String_c_str, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_b_str", _wrap_CSG_String_b_str, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Length", _wrap_CSG_String_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Clear", _wrap_CSG_String_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Format", _wrap_CSG_String_Format, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Printf", _wrap_CSG_String_Printf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Scanf", _wrap_CSG_String_Scanf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Append", _wrap_CSG_String_Append, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String___add__", _wrap_CSG_String___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String___iadd__", _wrap_CSG_String___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Cmp", _wrap_CSG_String_Cmp, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_CmpNoCase", _wrap_CSG_String_CmpNoCase, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Make_Lower", _wrap_CSG_String_Make_Lower, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Make_Upper", _wrap_CSG_String_Make_Upper, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Replace", _wrap_CSG_String_Replace, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Remove", _wrap_CSG_String_Remove, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Trim", _wrap_CSG_String_Trim, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Find", _wrap_CSG_String_Find, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Contains", _wrap_CSG_String_Contains, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_AfterFirst", _wrap_CSG_String_AfterFirst, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_AfterLast", _wrap_CSG_String_AfterLast, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_BeforeFirst", _wrap_CSG_String_BeforeFirst, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_BeforeLast", _wrap_CSG_String_BeforeLast, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Right", _wrap_CSG_String_Right, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Mid", _wrap_CSG_String_Mid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_Left", _wrap_CSG_String_Left, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_asInt", _wrap_CSG_String_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_asDouble", _wrap_CSG_String_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_String_swigregister", CSG_String_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Strings", _wrap_new_CSG_Strings, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Strings", _wrap_delete_CSG_Strings, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Clear", _wrap_CSG_Strings_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Assign", _wrap_CSG_Strings_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Add", _wrap_CSG_Strings_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings___iadd__", _wrap_CSG_Strings___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Set_Count", _wrap_CSG_Strings_Set_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Get_Count", _wrap_CSG_Strings_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_Get_String", _wrap_CSG_Strings_Get_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Strings_swigregister", CSG_Strings_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Printf", _wrap_SG_Printf, METH_VARARGS, NULL},
+-	 { (char *)"SG_FPrintf", _wrap_SG_FPrintf, METH_VARARGS, NULL},
+-	 { (char *)"SG_Sscanf", _wrap_SG_Sscanf, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_CurrentTimeStr", _wrap_SG_Get_CurrentTimeStr, METH_VARARGS, NULL},
+-	 { (char *)"SG_UTF8_To_String", _wrap_SG_UTF8_To_String, METH_VARARGS, NULL},
+-	 { (char *)"SG_String_To_UTF8", _wrap_SG_String_To_UTF8, METH_VARARGS, NULL},
+-	 { (char *)"SG_Degree_To_Double", _wrap_SG_Degree_To_Double, METH_VARARGS, NULL},
+-	 { (char *)"SG_Double_To_Degree", _wrap_SG_Double_To_Degree, METH_VARARGS, NULL},
+-	 { (char *)"SG_Date_To_Number", _wrap_SG_Date_To_Number, METH_VARARGS, NULL},
+-	 { (char *)"SG_Number_To_Date", _wrap_SG_Number_To_Date, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Significant_Decimals", _wrap_SG_Get_Significant_Decimals, METH_VARARGS, NULL},
+-	 { (char *)"SG_Flip_Decimal_Separators", _wrap_SG_Flip_Decimal_Separators, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_String", _wrap_SG_Get_String, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Array", _wrap_delete_CSG_Array, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Array", _wrap_new_CSG_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Create", _wrap_CSG_Array_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Destroy", _wrap_CSG_Array_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Set_Growth", _wrap_CSG_Array_Set_Growth, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Get_Growth", _wrap_CSG_Array_Get_Growth, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Get_Size", _wrap_CSG_Array_Get_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Get_Entry", _wrap_CSG_Array_Get_Entry, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Get_Array", _wrap_CSG_Array_Get_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Set_Array", _wrap_CSG_Array_Set_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Inc_Array", _wrap_CSG_Array_Inc_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_Dec_Array", _wrap_CSG_Array_Dec_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Array_swigregister", CSG_Array_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Buffer", _wrap_new_CSG_Buffer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Create", _wrap_CSG_Buffer_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Buffer", _wrap_delete_CSG_Buffer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Destroy", _wrap_CSG_Buffer_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Set_Size", _wrap_CSG_Buffer_Set_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Inc_Size", _wrap_CSG_Buffer_Inc_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Get_Size", _wrap_CSG_Buffer_Get_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Set_Data", _wrap_CSG_Buffer_Set_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Get_Data", _wrap_CSG_Buffer_Get_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Add_Value", _wrap_CSG_Buffer_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer___iadd__", _wrap_CSG_Buffer___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_Set_Value", _wrap_CSG_Buffer_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_asShort", _wrap_CSG_Buffer_asShort, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_asInt", _wrap_CSG_Buffer_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_asFloat", _wrap_CSG_Buffer_asFloat, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_asDouble", _wrap_CSG_Buffer_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Buffer_swigregister", CSG_Buffer_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Bytes", _wrap_new_CSG_Bytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Create", _wrap_CSG_Bytes_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Bytes", _wrap_delete_CSG_Bytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Destroy", _wrap_CSG_Bytes_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Clear", _wrap_CSG_Bytes_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Rewind", _wrap_CSG_Bytes_Rewind, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_is_EOF", _wrap_CSG_Bytes_is_EOF, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Get_Count", _wrap_CSG_Bytes_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Get_Bytes", _wrap_CSG_Bytes_Get_Bytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes___add__", _wrap_CSG_Bytes___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Get_Byte", _wrap_CSG_Bytes_Get_Byte, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Assign", _wrap_CSG_Bytes_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Add", _wrap_CSG_Bytes_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes___iadd__", _wrap_CSG_Bytes___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asByte", _wrap_CSG_Bytes_asByte, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asChar", _wrap_CSG_Bytes_asChar, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asShort", _wrap_CSG_Bytes_asShort, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asWord", _wrap_CSG_Bytes_asWord, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asInt", _wrap_CSG_Bytes_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asDWord", _wrap_CSG_Bytes_asDWord, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asFloat", _wrap_CSG_Bytes_asFloat, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_asDouble", _wrap_CSG_Bytes_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Byte", _wrap_CSG_Bytes_Read_Byte, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Char", _wrap_CSG_Bytes_Read_Char, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Short", _wrap_CSG_Bytes_Read_Short, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Word", _wrap_CSG_Bytes_Read_Word, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Int", _wrap_CSG_Bytes_Read_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_DWord", _wrap_CSG_Bytes_Read_DWord, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Float", _wrap_CSG_Bytes_Read_Float, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Read_Double", _wrap_CSG_Bytes_Read_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_toHexString", _wrap_CSG_Bytes_toHexString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_fromHexString", _wrap_CSG_Bytes_fromHexString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_swigregister", CSG_Bytes_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Bytes_Array", _wrap_new_CSG_Bytes_Array, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Bytes_Array", _wrap_delete_CSG_Bytes_Array, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Array_Destroy", _wrap_CSG_Bytes_Array_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Array_Get_Count", _wrap_CSG_Bytes_Array_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Array_Get_Bytes", _wrap_CSG_Bytes_Array_Get_Bytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Array_Add", _wrap_CSG_Bytes_Array_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Bytes_Array_swigregister", CSG_Bytes_Array_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Stack", _wrap_new_CSG_Stack, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Stack", _wrap_delete_CSG_Stack, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Stack_Get_RecordSize", _wrap_CSG_Stack_Get_RecordSize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Stack_Get_Size", _wrap_CSG_Stack_Get_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Stack_Clear", _wrap_CSG_Stack_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Stack_Destroy", _wrap_CSG_Stack_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Stack_swigregister", CSG_Stack_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Data_Type_Get_Size", _wrap_SG_Data_Type_Get_Size, METH_VARARGS, NULL},
+-	 { (char *)"SG_Data_Type_Get_Name", _wrap_SG_Data_Type_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"SG_Data_Type_is_Numeric", _wrap_SG_Data_Type_is_Numeric, METH_VARARGS, NULL},
+-	 { (char *)"SG_DataType_Range_Check", _wrap_SG_DataType_Range_Check, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_File", _wrap_new_CSG_File, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_File", _wrap_delete_CSG_File, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Attach", _wrap_CSG_File_Attach, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Detach", _wrap_CSG_File_Detach, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Get_Stream", _wrap_CSG_File_Get_Stream, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Get_UnicodeFlag", _wrap_CSG_File_Get_UnicodeFlag, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Set_UnicodeFlag", _wrap_CSG_File_Set_UnicodeFlag, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Open", _wrap_CSG_File_Open, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Close", _wrap_CSG_File_Close, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_is_Open", _wrap_CSG_File_is_Open, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_is_EOF", _wrap_CSG_File_is_EOF, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Length", _wrap_CSG_File_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Seek", _wrap_CSG_File_Seek, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Seek_Start", _wrap_CSG_File_Seek_Start, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Seek_End", _wrap_CSG_File_Seek_End, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Tell", _wrap_CSG_File_Tell, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Flush", _wrap_CSG_File_Flush, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Printf", _wrap_CSG_File_Printf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Scanf", _wrap_CSG_File_Scanf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Get_Character", _wrap_CSG_File_Get_Character, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Read", _wrap_CSG_File_Read, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Write", _wrap_CSG_File_Write, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Read_Line", _wrap_CSG_File_Read_Line, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Read_Int", _wrap_CSG_File_Read_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Write_Int", _wrap_CSG_File_Write_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Read_Double", _wrap_CSG_File_Read_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Write_Double", _wrap_CSG_File_Write_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Scan", _wrap_CSG_File_Scan, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Scan_Int", _wrap_CSG_File_Scan_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Scan_Double", _wrap_CSG_File_Scan_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_Scan_String", _wrap_CSG_File_Scan_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_File_swigregister", CSG_File_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Dir_Exists", _wrap_SG_Dir_Exists, METH_VARARGS, NULL},
+-	 { (char *)"SG_Dir_Create", _wrap_SG_Dir_Create, METH_VARARGS, NULL},
+-	 { (char *)"SG_Dir_Get_Current", _wrap_SG_Dir_Get_Current, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Exists", _wrap_SG_File_Exists, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Delete", _wrap_SG_File_Delete, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Get_TmpName", _wrap_SG_File_Get_TmpName, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Get_Name", _wrap_SG_File_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Get_Path", _wrap_SG_File_Get_Path, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Make_Path", _wrap_SG_File_Make_Path, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Cmp_Extension", _wrap_SG_File_Cmp_Extension, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Get_Extension", _wrap_SG_File_Get_Extension, METH_VARARGS, NULL},
+-	 { (char *)"SG_File_Set_Extension", _wrap_SG_File_Set_Extension, METH_VARARGS, NULL},
+-	 { (char *)"SG_Read_Line", _wrap_SG_Read_Line, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Colors", _wrap_new_CSG_Colors, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Colors", _wrap_delete_CSG_Colors, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Destroy", _wrap_CSG_Colors_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Count", _wrap_CSG_Colors_Set_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Count", _wrap_CSG_Colors_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Color", _wrap_CSG_Colors_Set_Color, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Red", _wrap_CSG_Colors_Set_Red, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Green", _wrap_CSG_Colors_Set_Green, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Blue", _wrap_CSG_Colors_Set_Blue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Brightness", _wrap_CSG_Colors_Set_Brightness, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Color", _wrap_CSG_Colors_Get_Color, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Red", _wrap_CSG_Colors_Get_Red, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Green", _wrap_CSG_Colors_Get_Green, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Blue", _wrap_CSG_Colors_Get_Blue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Get_Brightness", _wrap_CSG_Colors_Get_Brightness, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Default", _wrap_CSG_Colors_Set_Default, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Palette", _wrap_CSG_Colors_Set_Palette, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Ramp", _wrap_CSG_Colors_Set_Ramp, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Set_Ramp_Brighness", _wrap_CSG_Colors_Set_Ramp_Brighness, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Random", _wrap_CSG_Colors_Random, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Invert", _wrap_CSG_Colors_Invert, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Revert", _wrap_CSG_Colors_Revert, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Assign", _wrap_CSG_Colors_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Load", _wrap_CSG_Colors_Load, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Save", _wrap_CSG_Colors_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_Serialize", _wrap_CSG_Colors_Serialize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Colors_swigregister", CSG_Colors_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Translator", _wrap_delete_CSG_Translator, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Translator", _wrap_new_CSG_Translator, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_Create", _wrap_CSG_Translator_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_Destroy", _wrap_CSG_Translator_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_is_CaseSensitive", _wrap_CSG_Translator_is_CaseSensitive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_Get_Count", _wrap_CSG_Translator_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_Get_Text", _wrap_CSG_Translator_Get_Text, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_Get_Translation", _wrap_CSG_Translator_Get_Translation, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Translator_swigregister", CSG_Translator_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Translator", _wrap_SG_Get_Translator, METH_VARARGS, NULL},
+-	 { (char *)"SG_Translate", _wrap_SG_Translate, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_UI_Parameter", _wrap_new_CSG_UI_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_True_set", _wrap_CSG_UI_Parameter_True_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_True_get", _wrap_CSG_UI_Parameter_True_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_Number_set", _wrap_CSG_UI_Parameter_Number_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_Number_get", _wrap_CSG_UI_Parameter_Number_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_Pointer_set", _wrap_CSG_UI_Parameter_Pointer_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_Pointer_get", _wrap_CSG_UI_Parameter_Pointer_get, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_UI_Parameter", _wrap_delete_CSG_UI_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_UI_Parameter_swigregister", CSG_UI_Parameter_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Set_UI_Callback", _wrap_SG_Set_UI_Callback, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_UI_Callback", _wrap_SG_Get_UI_Callback, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Progress_Lock", _wrap_SG_UI_Progress_Lock, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Process_Get_Okay", _wrap_SG_UI_Process_Get_Okay, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Process_Set_Okay", _wrap_SG_UI_Process_Set_Okay, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Process_Set_Progress", _wrap_SG_UI_Process_Set_Progress, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Process_Set_Ready", _wrap_SG_UI_Process_Set_Ready, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Process_Set_Text", _wrap_SG_UI_Process_Set_Text, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Stop_Execution", _wrap_SG_UI_Stop_Execution, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Dlg_Message", _wrap_SG_UI_Dlg_Message, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Dlg_Continue", _wrap_SG_UI_Dlg_Continue, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Dlg_Error", _wrap_SG_UI_Dlg_Error, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Dlg_Parameters", _wrap_SG_UI_Dlg_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Msg_Lock", _wrap_SG_UI_Msg_Lock, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Msg_Add", _wrap_SG_UI_Msg_Add, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Msg_Add_Error", _wrap_SG_UI_Msg_Add_Error, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Msg_Add_Execution", _wrap_SG_UI_Msg_Add_Execution, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Find", _wrap_SG_UI_DataObject_Find, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Check", _wrap_SG_UI_DataObject_Check, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Add", _wrap_SG_UI_DataObject_Add, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Update", _wrap_SG_UI_DataObject_Update, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Show", _wrap_SG_UI_DataObject_Show, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_asImage", _wrap_SG_UI_DataObject_asImage, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Colors_Get", _wrap_SG_UI_DataObject_Colors_Get, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Colors_Set", _wrap_SG_UI_DataObject_Colors_Set, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Params_Get", _wrap_SG_UI_DataObject_Params_Get, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Params_Set", _wrap_SG_UI_DataObject_Params_Set, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_DataObject_Get_All", _wrap_SG_UI_DataObject_Get_All, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Get_Window_Main", _wrap_SG_UI_Get_Window_Main, METH_VARARGS, NULL},
+-	 { (char *)"SG_UI_Get_Application_Path", _wrap_SG_UI_Get_Application_Path, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_MetaData", _wrap_new_CSG_MetaData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Create", _wrap_CSG_MetaData_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_MetaData", _wrap_delete_CSG_MetaData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Destroy", _wrap_CSG_MetaData_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Load", _wrap_CSG_MetaData_Load, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Save", _wrap_CSG_MetaData_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Load_WKT", _wrap_CSG_MetaData_Load_WKT, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Save_WKT", _wrap_CSG_MetaData_Save_WKT, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Assign", _wrap_CSG_MetaData_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData___iadd__", _wrap_CSG_MetaData___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Name", _wrap_CSG_MetaData_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Set_Name", _wrap_CSG_MetaData_Set_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Content", _wrap_CSG_MetaData_Get_Content, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Set_Content", _wrap_CSG_MetaData_Set_Content, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Cmp_Content", _wrap_CSG_MetaData_Cmp_Content, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Children_Count", _wrap_CSG_MetaData_Get_Children_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Child", _wrap_CSG_MetaData_Get_Child, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Add_Child", _wrap_CSG_MetaData_Add_Child, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Del_Child", _wrap_CSG_MetaData_Del_Child, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_is_Valid", _wrap_CSG_MetaData_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Property_Count", _wrap_CSG_MetaData_Get_Property_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Property_Name", _wrap_CSG_MetaData_Get_Property_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Get_Property", _wrap_CSG_MetaData_Get_Property, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Add_Property", _wrap_CSG_MetaData_Add_Property, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Set_Property", _wrap_CSG_MetaData_Set_Property, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_Cmp_Property", _wrap_CSG_MetaData_Cmp_Property, METH_VARARGS, NULL},
+-	 { (char *)"CSG_MetaData_swigregister", CSG_MetaData_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_x_set", _wrap_TSG_Point_x_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_x_get", _wrap_TSG_Point_x_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_y_set", _wrap_TSG_Point_y_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_y_get", _wrap_TSG_Point_y_get, METH_VARARGS, NULL},
+-	 { (char *)"new_TSG_Point", _wrap_new_TSG_Point, METH_VARARGS, NULL},
+-	 { (char *)"delete_TSG_Point", _wrap_delete_TSG_Point, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_swigregister", TSG_Point_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_x_set", _wrap_TSG_Point_Z_x_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_x_get", _wrap_TSG_Point_Z_x_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_y_set", _wrap_TSG_Point_Z_y_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_y_get", _wrap_TSG_Point_Z_y_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_z_set", _wrap_TSG_Point_Z_z_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_z_get", _wrap_TSG_Point_Z_z_get, METH_VARARGS, NULL},
+-	 { (char *)"new_TSG_Point_Z", _wrap_new_TSG_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"delete_TSG_Point_Z", _wrap_delete_TSG_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Z_swigregister", TSG_Point_Z_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_x_set", _wrap_TSG_Point_ZM_x_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_x_get", _wrap_TSG_Point_ZM_x_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_y_set", _wrap_TSG_Point_ZM_y_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_y_get", _wrap_TSG_Point_ZM_y_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_z_set", _wrap_TSG_Point_ZM_z_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_z_get", _wrap_TSG_Point_ZM_z_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_m_set", _wrap_TSG_Point_ZM_m_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_m_get", _wrap_TSG_Point_ZM_m_get, METH_VARARGS, NULL},
+-	 { (char *)"new_TSG_Point_ZM", _wrap_new_TSG_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"delete_TSG_Point_ZM", _wrap_delete_TSG_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_ZM_swigregister", TSG_Point_ZM_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Int_x_set", _wrap_TSG_Point_Int_x_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Int_x_get", _wrap_TSG_Point_Int_x_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Int_y_set", _wrap_TSG_Point_Int_y_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Int_y_get", _wrap_TSG_Point_Int_y_get, METH_VARARGS, NULL},
+-	 { (char *)"new_TSG_Point_Int", _wrap_new_TSG_Point_Int, METH_VARARGS, NULL},
+-	 { (char *)"delete_TSG_Point_Int", _wrap_delete_TSG_Point_Int, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Point_Int_swigregister", TSG_Point_Int_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_xMin_set", _wrap_TSG_Rect_xMin_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_xMin_get", _wrap_TSG_Rect_xMin_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_yMin_set", _wrap_TSG_Rect_yMin_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_yMin_get", _wrap_TSG_Rect_yMin_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_xMax_set", _wrap_TSG_Rect_xMax_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_xMax_get", _wrap_TSG_Rect_xMax_get, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_yMax_set", _wrap_TSG_Rect_yMax_set, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_yMax_get", _wrap_TSG_Rect_yMax_get, METH_VARARGS, NULL},
+-	 { (char *)"new_TSG_Rect", _wrap_new_TSG_Rect, METH_VARARGS, NULL},
+-	 { (char *)"delete_TSG_Rect", _wrap_delete_TSG_Rect, METH_VARARGS, NULL},
+-	 { (char *)"TSG_Rect_swigregister", TSG_Rect_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Point", _wrap_new_CSG_Point, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Point", _wrap_delete_CSG_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Get_Type", _wrap_CSG_Point_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Get_X", _wrap_CSG_Point_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Set_X", _wrap_CSG_Point_Set_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Get_Y", _wrap_CSG_Point_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Set_Y", _wrap_CSG_Point_Set_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___eq__", _wrap_CSG_Point___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___ne__", _wrap_CSG_Point___ne__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___add__", _wrap_CSG_Point___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___sub__", _wrap_CSG_Point___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___iadd__", _wrap_CSG_Point___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point___isub__", _wrap_CSG_Point___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Assign", _wrap_CSG_Point_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Add", _wrap_CSG_Point_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Subtract", _wrap_CSG_Point_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_is_Equal", _wrap_CSG_Point_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_swigregister", CSG_Point_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Point_Z", _wrap_new_CSG_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Point_Z", _wrap_delete_CSG_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Get_Type", _wrap_CSG_Point_Z_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Get_Z", _wrap_CSG_Point_Z_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Set_Z", _wrap_CSG_Point_Z_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___eq__", _wrap_CSG_Point_Z___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___ne__", _wrap_CSG_Point_Z___ne__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___add__", _wrap_CSG_Point_Z___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___sub__", _wrap_CSG_Point_Z___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___iadd__", _wrap_CSG_Point_Z___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z___isub__", _wrap_CSG_Point_Z___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Assign", _wrap_CSG_Point_Z_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Add", _wrap_CSG_Point_Z_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_Subtract", _wrap_CSG_Point_Z_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_is_Equal", _wrap_CSG_Point_Z_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_Z_swigregister", CSG_Point_Z_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Point_ZM", _wrap_new_CSG_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Point_ZM", _wrap_delete_CSG_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Get_Type", _wrap_CSG_Point_ZM_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Get_M", _wrap_CSG_Point_ZM_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Set_M", _wrap_CSG_Point_ZM_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___eq__", _wrap_CSG_Point_ZM___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___ne__", _wrap_CSG_Point_ZM___ne__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___add__", _wrap_CSG_Point_ZM___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___sub__", _wrap_CSG_Point_ZM___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___iadd__", _wrap_CSG_Point_ZM___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM___isub__", _wrap_CSG_Point_ZM___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Assign", _wrap_CSG_Point_ZM_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Add", _wrap_CSG_Point_ZM_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_Subtract", _wrap_CSG_Point_ZM_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_is_Equal", _wrap_CSG_Point_ZM_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Point_ZM_swigregister", CSG_Point_ZM_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Points", _wrap_new_CSG_Points, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Points", _wrap_delete_CSG_Points, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Clear", _wrap_CSG_Points_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Assign", _wrap_CSG_Points_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Add", _wrap_CSG_Points_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Del", _wrap_CSG_Points_Del, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Set_Count", _wrap_CSG_Points_Set_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Get_Count", _wrap_CSG_Points_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Get_Point", _wrap_CSG_Points_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Get_X", _wrap_CSG_Points_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Get_Y", _wrap_CSG_Points_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_swigregister", CSG_Points_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Points_Int", _wrap_new_CSG_Points_Int, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Points_Int", _wrap_delete_CSG_Points_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Clear", _wrap_CSG_Points_Int_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Assign", _wrap_CSG_Points_Int_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Add", _wrap_CSG_Points_Int_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Del", _wrap_CSG_Points_Int_Del, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Set_Count", _wrap_CSG_Points_Int_Set_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Get_Count", _wrap_CSG_Points_Int_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Get_Point", _wrap_CSG_Points_Int_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Get_X", _wrap_CSG_Points_Int_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_Get_Y", _wrap_CSG_Points_Int_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Int_swigregister", CSG_Points_Int_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Points_Z", _wrap_new_CSG_Points_Z, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Points_Z", _wrap_delete_CSG_Points_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Clear", _wrap_CSG_Points_Z_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Assign", _wrap_CSG_Points_Z_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Add", _wrap_CSG_Points_Z_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Del", _wrap_CSG_Points_Z_Del, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Set_Count", _wrap_CSG_Points_Z_Set_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Get_Count", _wrap_CSG_Points_Z_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Get_Point", _wrap_CSG_Points_Z_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Get_X", _wrap_CSG_Points_Z_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Get_Y", _wrap_CSG_Points_Z_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_Get_Z", _wrap_CSG_Points_Z_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Points_Z_swigregister", CSG_Points_Z_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Rect", _wrap_new_CSG_Rect, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Rect", _wrap_delete_CSG_Rect, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect___eq__", _wrap_CSG_Rect___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect___ne__", _wrap_CSG_Rect___ne__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect___iadd__", _wrap_CSG_Rect___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect___isub__", _wrap_CSG_Rect___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Assign", _wrap_CSG_Rect_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Set_BottomLeft", _wrap_CSG_Rect_Set_BottomLeft, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Set_TopRight", _wrap_CSG_Rect_Set_TopRight, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_is_Equal", _wrap_CSG_Rect_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_XMin", _wrap_CSG_Rect_Get_XMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_XMax", _wrap_CSG_Rect_Get_XMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_YMin", _wrap_CSG_Rect_Get_YMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_YMax", _wrap_CSG_Rect_Get_YMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_XRange", _wrap_CSG_Rect_Get_XRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_YRange", _wrap_CSG_Rect_Get_YRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_TopLeft", _wrap_CSG_Rect_Get_TopLeft, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_BottomRight", _wrap_CSG_Rect_Get_BottomRight, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_Center", _wrap_CSG_Rect_Get_Center, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_XCenter", _wrap_CSG_Rect_Get_XCenter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Get_YCenter", _wrap_CSG_Rect_Get_YCenter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Move", _wrap_CSG_Rect_Move, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Inflate", _wrap_CSG_Rect_Inflate, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Deflate", _wrap_CSG_Rect_Deflate, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Union", _wrap_CSG_Rect_Union, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Intersect", _wrap_CSG_Rect_Intersect, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Intersects", _wrap_CSG_Rect_Intersects, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_Contains", _wrap_CSG_Rect_Contains, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_m_rect_set", _wrap_CSG_Rect_m_rect_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_m_rect_get", _wrap_CSG_Rect_m_rect_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rect_swigregister", CSG_Rect_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Rects", _wrap_new_CSG_Rects, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Rects", _wrap_delete_CSG_Rects, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_Clear", _wrap_CSG_Rects_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_Assign", _wrap_CSG_Rects_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_Add", _wrap_CSG_Rects_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_Get_Count", _wrap_CSG_Rects_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_Get_Rect", _wrap_CSG_Rects_Get_Rect, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Rects_swigregister", CSG_Rects_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Distance_Weighting", _wrap_new_CSG_Distance_Weighting, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Distance_Weighting", _wrap_delete_CSG_Distance_Weighting, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_Parameters", _wrap_CSG_Distance_Weighting_Get_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Set_Parameters", _wrap_CSG_Distance_Weighting_Set_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_Weighting", _wrap_CSG_Distance_Weighting_Get_Weighting, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Set_Weighting", _wrap_CSG_Distance_Weighting_Set_Weighting, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_IDW_Power", _wrap_CSG_Distance_Weighting_Get_IDW_Power, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Set_IDW_Power", _wrap_CSG_Distance_Weighting_Set_IDW_Power, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_IDW_Offset", _wrap_CSG_Distance_Weighting_Get_IDW_Offset, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Set_IDW_Offset", _wrap_CSG_Distance_Weighting_Set_IDW_Offset, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_BandWidth", _wrap_CSG_Distance_Weighting_Get_BandWidth, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Set_BandWidth", _wrap_CSG_Distance_Weighting_Set_BandWidth, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_Get_Weight", _wrap_CSG_Distance_Weighting_Get_Weight, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Distance_Weighting_swigregister", CSG_Distance_Weighting_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Projection_Type_Name", _wrap_SG_Get_Projection_Type_Name, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Projection", _wrap_delete_CSG_Projection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Destroy", _wrap_CSG_Projection_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Projection", _wrap_new_CSG_Projection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Create", _wrap_CSG_Projection_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Assign", _wrap_CSG_Projection_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_is_Okay", _wrap_CSG_Projection_is_Okay, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_is_Equal", _wrap_CSG_Projection_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection___eq__", _wrap_CSG_Projection___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection___ne__", _wrap_CSG_Projection___ne__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Load", _wrap_CSG_Projection_Load, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Save", _wrap_CSG_Projection_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Name", _wrap_CSG_Projection_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_WKT", _wrap_CSG_Projection_Get_WKT, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Proj4", _wrap_CSG_Projection_Get_Proj4, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Authority", _wrap_CSG_Projection_Get_Authority, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Authority_ID", _wrap_CSG_Projection_Get_Authority_ID, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_EPSG", _wrap_CSG_Projection_Get_EPSG, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Description", _wrap_CSG_Projection_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Type", _wrap_CSG_Projection_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Type_Name", _wrap_CSG_Projection_Get_Type_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_Get_Type_Identifier", _wrap_CSG_Projection_Get_Type_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projection_swigregister", CSG_Projection_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Projections", _wrap_delete_CSG_Projections, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Projections", _wrap_new_CSG_Projections, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Create", _wrap_CSG_Projections_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Destroy", _wrap_CSG_Projections_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Reset_Dictionary", _wrap_CSG_Projections_Reset_Dictionary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Load_Dictionary", _wrap_CSG_Projections_Load_Dictionary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Save_Dictionary", _wrap_CSG_Projections_Save_Dictionary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Load_DB", _wrap_CSG_Projections_Load_DB, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Save_DB", _wrap_CSG_Projections_Save_DB, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Get_Count", _wrap_CSG_Projections_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Add", _wrap_CSG_Projections_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Get_Projection", _wrap_CSG_Projections_Get_Projection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_Get_Names_List", _wrap_CSG_Projections_Get_Names_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_WKT_to_MetaData", _wrap_CSG_Projections_WKT_to_MetaData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_WKT_to_Proj4", _wrap_CSG_Projections_WKT_to_Proj4, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_WKT_from_Proj4", _wrap_CSG_Projections_WKT_from_Proj4, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_EPSG_to_Proj4", _wrap_CSG_Projections_EPSG_to_Proj4, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_EPSG_to_WKT", _wrap_CSG_Projections_EPSG_to_WKT, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Projections_swigregister", CSG_Projections_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Projections", _wrap_SG_Get_Projections, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Length", _wrap_SG_Get_Length, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Distance", _wrap_SG_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Angle_Of_Direction", _wrap_SG_Get_Angle_Of_Direction, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Crossing", _wrap_SG_Get_Crossing, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Crossing_InRegion", _wrap_SG_Get_Crossing_InRegion, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Nearest_Point_On_Line", _wrap_SG_Get_Nearest_Point_On_Line, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Triangle_CircumCircle", _wrap_SG_Get_Triangle_CircumCircle, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Polygon_Area", _wrap_SG_Get_Polygon_Area, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_Square", _wrap_SG_Get_Square, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Index", _wrap_delete_CSG_Index, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Index", _wrap_new_CSG_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_Create", _wrap_CSG_Index_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_Destroy", _wrap_CSG_Index_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_is_Okay", _wrap_CSG_Index_is_Okay, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_Get_Count", _wrap_CSG_Index_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_Get_Index", _wrap_CSG_Index_Get_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Index_swigregister", CSG_Index_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Vector", _wrap_delete_CSG_Vector, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Vector", _wrap_new_CSG_Vector, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Create", _wrap_CSG_Vector_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Destroy", _wrap_CSG_Vector_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Get_N", _wrap_CSG_Vector_Get_N, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Get_Data", _wrap_CSG_Vector_Get_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___call__", _wrap_CSG_Vector___call__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_asString", _wrap_CSG_Vector_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_is_Equal", _wrap_CSG_Vector_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Assign", _wrap_CSG_Vector_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Add", _wrap_CSG_Vector_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Subtract", _wrap_CSG_Vector_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Multiply_Scalar", _wrap_CSG_Vector_Multiply_Scalar, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Multiply", _wrap_CSG_Vector_Multiply, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___eq__", _wrap_CSG_Vector___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___iadd__", _wrap_CSG_Vector___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___isub__", _wrap_CSG_Vector___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___imul__", _wrap_CSG_Vector___imul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___add__", _wrap_CSG_Vector___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___sub__", _wrap_CSG_Vector___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector___mul__", _wrap_CSG_Vector___mul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Set_Zero", _wrap_CSG_Vector_Set_Zero, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Set_Unity", _wrap_CSG_Vector_Set_Unity, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Get_Length", _wrap_CSG_Vector_Get_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Get_Angle", _wrap_CSG_Vector_Get_Angle, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_Get_Unity", _wrap_CSG_Vector_Get_Unity, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Vector_swigregister", CSG_Vector_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Matrix", _wrap_delete_CSG_Matrix, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Matrix", _wrap_new_CSG_Matrix, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Create", _wrap_CSG_Matrix_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Destroy", _wrap_CSG_Matrix_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Add_Cols", _wrap_CSG_Matrix_Add_Cols, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Add_Rows", _wrap_CSG_Matrix_Add_Rows, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_NX", _wrap_CSG_Matrix_Get_NX, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_NY", _wrap_CSG_Matrix_Get_NY, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_Data", _wrap_CSG_Matrix_Get_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___call__", _wrap_CSG_Matrix___call__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_asString", _wrap_CSG_Matrix_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_is_Square", _wrap_CSG_Matrix_is_Square, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_is_Equal", _wrap_CSG_Matrix_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Assign", _wrap_CSG_Matrix_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Add", _wrap_CSG_Matrix_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Subtract", _wrap_CSG_Matrix_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Multiply", _wrap_CSG_Matrix_Multiply, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___eq__", _wrap_CSG_Matrix___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___iadd__", _wrap_CSG_Matrix___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___isub__", _wrap_CSG_Matrix___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___imul__", _wrap_CSG_Matrix___imul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___add__", _wrap_CSG_Matrix___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___sub__", _wrap_CSG_Matrix___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix___mul__", _wrap_CSG_Matrix___mul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Set_Zero", _wrap_CSG_Matrix_Set_Zero, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Set_Identity", _wrap_CSG_Matrix_Set_Identity, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Set_Transpose", _wrap_CSG_Matrix_Set_Transpose, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Set_Inverse", _wrap_CSG_Matrix_Set_Inverse, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_Determinant", _wrap_CSG_Matrix_Get_Determinant, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_Transpose", _wrap_CSG_Matrix_Get_Transpose, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_Get_Inverse", _wrap_CSG_Matrix_Get_Inverse, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Matrix_swigregister", CSG_Matrix_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Matrix_Solve", _wrap_SG_Matrix_Solve, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid_Radius", _wrap_new_CSG_Grid_Radius, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid_Radius", _wrap_delete_CSG_Grid_Radius, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_Create", _wrap_CSG_Grid_Radius_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_Destroy", _wrap_CSG_Grid_Radius_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_Get_Maximum", _wrap_CSG_Grid_Radius_Get_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_Get_nPoints", _wrap_CSG_Grid_Radius_Get_nPoints, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_Get_Point", _wrap_CSG_Grid_Radius_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Radius_swigregister", CSG_Grid_Radius_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Simple_Statistics", _wrap_new_CSG_Simple_Statistics, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Invalidate", _wrap_CSG_Simple_Statistics_Invalidate, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_is_Evaluated", _wrap_CSG_Simple_Statistics_is_Evaluated, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Count", _wrap_CSG_Simple_Statistics_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Weights", _wrap_CSG_Simple_Statistics_Get_Weights, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Minimum", _wrap_CSG_Simple_Statistics_Get_Minimum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Maximum", _wrap_CSG_Simple_Statistics_Get_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Range", _wrap_CSG_Simple_Statistics_Get_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Sum", _wrap_CSG_Simple_Statistics_Get_Sum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Mean", _wrap_CSG_Simple_Statistics_Get_Mean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_Variance", _wrap_CSG_Simple_Statistics_Get_Variance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Get_StdDev", _wrap_CSG_Simple_Statistics_Get_StdDev, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_Add_Value", _wrap_CSG_Simple_Statistics_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Simple_Statistics", _wrap_delete_CSG_Simple_Statistics, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Simple_Statistics_swigregister", CSG_Simple_Statistics_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Class_Statistics", _wrap_new_CSG_Class_Statistics, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Class_Statistics", _wrap_delete_CSG_Class_Statistics, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Create", _wrap_CSG_Class_Statistics_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Destroy", _wrap_CSG_Class_Statistics_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Reset", _wrap_CSG_Class_Statistics_Reset, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Count", _wrap_CSG_Class_Statistics_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Class_Count", _wrap_CSG_Class_Statistics_Get_Class_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Class_Value", _wrap_CSG_Class_Statistics_Get_Class_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Class", _wrap_CSG_Class_Statistics_Get_Class, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Add_Value", _wrap_CSG_Class_Statistics_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Majority", _wrap_CSG_Class_Statistics_Get_Majority, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_Get_Minority", _wrap_CSG_Class_Statistics_Get_Minority, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Class_Statistics_swigregister", CSG_Class_Statistics_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Cluster_Analysis", _wrap_new_CSG_Cluster_Analysis, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Cluster_Analysis", _wrap_delete_CSG_Cluster_Analysis, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Create", _wrap_CSG_Cluster_Analysis_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Destroy", _wrap_CSG_Cluster_Analysis_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Add_Element", _wrap_CSG_Cluster_Analysis_Add_Element, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Set_Feature", _wrap_CSG_Cluster_Analysis_Set_Feature, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_Cluster", _wrap_CSG_Cluster_Analysis_Get_Cluster, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Execute", _wrap_CSG_Cluster_Analysis_Execute, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_nElements", _wrap_CSG_Cluster_Analysis_Get_nElements, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_nFeatures", _wrap_CSG_Cluster_Analysis_Get_nFeatures, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_nClusters", _wrap_CSG_Cluster_Analysis_Get_nClusters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_Iteration", _wrap_CSG_Cluster_Analysis_Get_Iteration, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_SP", _wrap_CSG_Cluster_Analysis_Get_SP, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_nMembers", _wrap_CSG_Cluster_Analysis_Get_nMembers, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_Variance", _wrap_CSG_Cluster_Analysis_Get_Variance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_Get_Centroid", _wrap_CSG_Cluster_Analysis_Get_Centroid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Cluster_Analysis_swigregister", CSG_Cluster_Analysis_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Spline", _wrap_new_CSG_Spline, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Spline", _wrap_delete_CSG_Spline, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Destroy", _wrap_CSG_Spline_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Create", _wrap_CSG_Spline_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Add", _wrap_CSG_Spline_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Get_xMin", _wrap_CSG_Spline_Get_xMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Get_xMax", _wrap_CSG_Spline_Get_xMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_Get_Value", _wrap_CSG_Spline_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Spline_swigregister", CSG_Spline_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Thin_Plate_Spline", _wrap_new_CSG_Thin_Plate_Spline, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Thin_Plate_Spline", _wrap_delete_CSG_Thin_Plate_Spline, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Destroy", _wrap_CSG_Thin_Plate_Spline_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Set_Point_Count", _wrap_CSG_Thin_Plate_Spline_Set_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Get_Point_Count", _wrap_CSG_Thin_Plate_Spline_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Get_Points", _wrap_CSG_Thin_Plate_Spline_Get_Points, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Add_Point", _wrap_CSG_Thin_Plate_Spline_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Set_Point", _wrap_CSG_Thin_Plate_Spline_Set_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Create", _wrap_CSG_Thin_Plate_Spline_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_is_Okay", _wrap_CSG_Thin_Plate_Spline_is_Okay, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_Get_Value", _wrap_CSG_Thin_Plate_Spline_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Thin_Plate_Spline_swigregister", CSG_Thin_Plate_Spline_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Regression", _wrap_new_CSG_Regression, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Regression", _wrap_delete_CSG_Regression, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Destroy", _wrap_CSG_Regression_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Set_Values", _wrap_CSG_Regression_Set_Values, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Add_Values", _wrap_CSG_Regression_Add_Values, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_Count", _wrap_CSG_Regression_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_xValue", _wrap_CSG_Regression_Get_xValue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_yValue", _wrap_CSG_Regression_Get_yValue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_Values", _wrap_CSG_Regression_Get_Values, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_xMin", _wrap_CSG_Regression_Get_xMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_xMax", _wrap_CSG_Regression_Get_xMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_xMean", _wrap_CSG_Regression_Get_xMean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_xVariance", _wrap_CSG_Regression_Get_xVariance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_x", _wrap_CSG_Regression_Get_x, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_yMin", _wrap_CSG_Regression_Get_yMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_yMax", _wrap_CSG_Regression_Get_yMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_yMean", _wrap_CSG_Regression_Get_yMean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_yVariance", _wrap_CSG_Regression_Get_yVariance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_y", _wrap_CSG_Regression_Get_y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_Constant", _wrap_CSG_Regression_Get_Constant, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_Coefficient", _wrap_CSG_Regression_Get_Coefficient, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_R", _wrap_CSG_Regression_Get_R, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_R2", _wrap_CSG_Regression_Get_R2, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_asString", _wrap_CSG_Regression_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Get_Type", _wrap_CSG_Regression_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Calculate", _wrap_CSG_Regression_Calculate, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_swigregister", CSG_Regression_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Regression_Multiple", _wrap_new_CSG_Regression_Multiple, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Regression_Multiple", _wrap_delete_CSG_Regression_Multiple, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Destroy", _wrap_CSG_Regression_Multiple_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Calculate", _wrap_CSG_Regression_Multiple_Calculate, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_Result", _wrap_CSG_Regression_Multiple_Get_Result, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_Count", _wrap_CSG_Regression_Multiple_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_Index", _wrap_CSG_Regression_Multiple_Get_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_Order", _wrap_CSG_Regression_Multiple_Get_Order, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_RConst", _wrap_CSG_Regression_Multiple_Get_RConst, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_RCoeff", _wrap_CSG_Regression_Multiple_Get_RCoeff, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_R2", _wrap_CSG_Regression_Multiple_Get_R2, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_R2_Change", _wrap_CSG_Regression_Multiple_Get_R2_Change, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_Get_Name", _wrap_CSG_Regression_Multiple_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Regression_Multiple_swigregister", CSG_Regression_Multiple_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Formula", _wrap_new_CSG_Formula, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Formula", _wrap_delete_CSG_Formula, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Help_Operators", _wrap_CSG_Formula_Get_Help_Operators, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Help_Usage", _wrap_CSG_Formula_Get_Help_Usage, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Error", _wrap_CSG_Formula_Get_Error, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Add_Function", _wrap_CSG_Formula_Add_Function, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Del_Function", _wrap_CSG_Formula_Del_Function, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Set_Formula", _wrap_CSG_Formula_Set_Formula, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Formula", _wrap_CSG_Formula_Get_Formula, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Set_Variable", _wrap_CSG_Formula_Set_Variable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Value", _wrap_CSG_Formula_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_Get_Used_Variables", _wrap_CSG_Formula_Get_Used_Variables, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_swigregister", CSG_Formula_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_name_set", _wrap_CSG_Formula_TSG_Formula_Item_name_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_name_get", _wrap_CSG_Formula_TSG_Formula_Item_name_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_f_set", _wrap_CSG_Formula_TSG_Formula_Item_f_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_f_get", _wrap_CSG_Formula_TSG_Formula_Item_f_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_n_pars_set", _wrap_CSG_Formula_TSG_Formula_Item_n_pars_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_n_pars_get", _wrap_CSG_Formula_TSG_Formula_Item_n_pars_get, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_varying_set", _wrap_CSG_Formula_TSG_Formula_Item_varying_set, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_varying_get", _wrap_CSG_Formula_TSG_Formula_Item_varying_get, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Formula_TSG_Formula_Item", _wrap_new_CSG_Formula_TSG_Formula_Item, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Formula_TSG_Formula_Item", _wrap_delete_CSG_Formula_TSG_Formula_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Formula_TSG_Formula_Item_swigregister", CSG_Formula_TSG_Formula_Item_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Trend", _wrap_new_CSG_Trend, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Trend", _wrap_delete_CSG_Trend, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Set_Formula", _wrap_CSG_Trend_Set_Formula, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Formula", _wrap_CSG_Trend_Get_Formula, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Parameter_Count", _wrap_CSG_Trend_Get_Parameter_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Parameters", _wrap_CSG_Trend_Get_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Clr_Data", _wrap_CSG_Trend_Clr_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Set_Data", _wrap_CSG_Trend_Set_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Add_Data", _wrap_CSG_Trend_Add_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_Count", _wrap_CSG_Trend_Get_Data_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_X", _wrap_CSG_Trend_Get_Data_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_Y", _wrap_CSG_Trend_Get_Data_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_XMin", _wrap_CSG_Trend_Get_Data_XMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_XMax", _wrap_CSG_Trend_Get_Data_XMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_YMin", _wrap_CSG_Trend_Get_Data_YMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Data_YMax", _wrap_CSG_Trend_Get_Data_YMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Set_Max_Iterations", _wrap_CSG_Trend_Set_Max_Iterations, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Max_Iterations", _wrap_CSG_Trend_Get_Max_Iterations, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Set_Max_Lambda", _wrap_CSG_Trend_Set_Max_Lambda, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Max_Lambda", _wrap_CSG_Trend_Get_Max_Lambda, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Trend", _wrap_CSG_Trend_Get_Trend, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_is_Okay", _wrap_CSG_Trend_is_Okay, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Error", _wrap_CSG_Trend_Get_Error, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_ChiSquare", _wrap_CSG_Trend_Get_ChiSquare, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_R2", _wrap_CSG_Trend_Get_R2, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_Get_Value", _wrap_CSG_Trend_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Trend_swigregister", CSG_Trend_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_DataObject_Identifier", _wrap_SG_Get_DataObject_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_DataObject_Name", _wrap_SG_Get_DataObject_Name, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Data_Object", _wrap_delete_CSG_Data_Object, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Destroy", _wrap_CSG_Data_Object_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_ObjectType", _wrap_CSG_Data_Object_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_is_Valid", _wrap_CSG_Data_Object_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Save", _wrap_CSG_Data_Object_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_File_Name", _wrap_CSG_Data_Object_Get_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_File_Type", _wrap_CSG_Data_Object_Get_File_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Assign", _wrap_CSG_Data_Object_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Set_Name", _wrap_CSG_Data_Object_Set_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_Name", _wrap_CSG_Data_Object_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Set_Modified", _wrap_CSG_Data_Object_Set_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_is_Modified", _wrap_CSG_Data_Object_is_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Update", _wrap_CSG_Data_Object_Update, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_MetaData", _wrap_CSG_Data_Object_Get_MetaData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_MetaData_DB", _wrap_CSG_Data_Object_Get_MetaData_DB, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_History", _wrap_CSG_Data_Object_Get_History, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_Projection", _wrap_CSG_Data_Object_Get_Projection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_asTable", _wrap_CSG_Data_Object_asTable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_asShapes", _wrap_CSG_Data_Object_asShapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_asTIN", _wrap_CSG_Data_Object_asTIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_asPointCloud", _wrap_CSG_Data_Object_asPointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_asGrid", _wrap_CSG_Data_Object_asGrid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Set_NoData_Value", _wrap_CSG_Data_Object_Set_NoData_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Set_NoData_Value_Range", _wrap_CSG_Data_Object_Set_NoData_Value_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_NoData_Value", _wrap_CSG_Data_Object_Get_NoData_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_Get_NoData_hiValue", _wrap_CSG_Data_Object_Get_NoData_hiValue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_is_NoData_Value", _wrap_CSG_Data_Object_is_NoData_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Data_Object_swigregister", CSG_Data_Object_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value", _wrap_delete_CSG_Table_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Set_Value", _wrap_CSG_Table_Value_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_asBinary", _wrap_CSG_Table_Value_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_asString", _wrap_CSG_Table_Value_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_asInt", _wrap_CSG_Table_Value_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_asDouble", _wrap_CSG_Table_Value_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_swigregister", CSG_Table_Value_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table_Value_Binary", _wrap_new_CSG_Table_Value_Binary, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value_Binary", _wrap_delete_CSG_Table_Value_Binary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_Set_Value", _wrap_CSG_Table_Value_Binary_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_Set_NoData", _wrap_CSG_Table_Value_Binary_Set_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_is_NoData", _wrap_CSG_Table_Value_Binary_is_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_asBinary", _wrap_CSG_Table_Value_Binary_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_asString", _wrap_CSG_Table_Value_Binary_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_asInt", _wrap_CSG_Table_Value_Binary_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_asDouble", _wrap_CSG_Table_Value_Binary_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_Get_Binary", _wrap_CSG_Table_Value_Binary_Get_Binary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Binary_swigregister", CSG_Table_Value_Binary_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table_Value_String", _wrap_new_CSG_Table_Value_String, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value_String", _wrap_delete_CSG_Table_Value_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_Set_Value", _wrap_CSG_Table_Value_String_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_asBinary", _wrap_CSG_Table_Value_String_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_asString", _wrap_CSG_Table_Value_String_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_asInt", _wrap_CSG_Table_Value_String_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_asDouble", _wrap_CSG_Table_Value_String_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_String_swigregister", CSG_Table_Value_String_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table_Value_Date", _wrap_new_CSG_Table_Value_Date, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value_Date", _wrap_delete_CSG_Table_Value_Date, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_Set_Value", _wrap_CSG_Table_Value_Date_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_asBinary", _wrap_CSG_Table_Value_Date_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_asString", _wrap_CSG_Table_Value_Date_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_asInt", _wrap_CSG_Table_Value_Date_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_asDouble", _wrap_CSG_Table_Value_Date_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Date_swigregister", CSG_Table_Value_Date_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table_Value_Int", _wrap_new_CSG_Table_Value_Int, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value_Int", _wrap_delete_CSG_Table_Value_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_Set_Value", _wrap_CSG_Table_Value_Int_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_asString", _wrap_CSG_Table_Value_Int_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_asBinary", _wrap_CSG_Table_Value_Int_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_asInt", _wrap_CSG_Table_Value_Int_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_asDouble", _wrap_CSG_Table_Value_Int_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Int_swigregister", CSG_Table_Value_Int_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table_Value_Double", _wrap_new_CSG_Table_Value_Double, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table_Value_Double", _wrap_delete_CSG_Table_Value_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_Set_Value", _wrap_CSG_Table_Value_Double_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_asString", _wrap_CSG_Table_Value_Double_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_asBinary", _wrap_CSG_Table_Value_Double_asBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_asInt", _wrap_CSG_Table_Value_Double_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_asDouble", _wrap_CSG_Table_Value_Double_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Value_Double_swigregister", CSG_Table_Value_Double_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Get_Table", _wrap_CSG_Table_Record_Get_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Get_Index", _wrap_CSG_Table_Record_Get_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Set_Value", _wrap_CSG_Table_Record_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Add_Value", _wrap_CSG_Table_Record_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Mul_Value", _wrap_CSG_Table_Record_Mul_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Set_NoData", _wrap_CSG_Table_Record_Set_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_is_NoData", _wrap_CSG_Table_Record_is_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asString", _wrap_CSG_Table_Record_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asChar", _wrap_CSG_Table_Record_asChar, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asShort", _wrap_CSG_Table_Record_asShort, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asInt", _wrap_CSG_Table_Record_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asFloat", _wrap_CSG_Table_Record_asFloat, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_asDouble", _wrap_CSG_Table_Record_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Get_Value", _wrap_CSG_Table_Record_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_Assign", _wrap_CSG_Table_Record_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_is_Selected", _wrap_CSG_Table_Record_is_Selected, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_is_Modified", _wrap_CSG_Table_Record_is_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Record_swigregister", CSG_Table_Record_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Table", _wrap_new_CSG_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Create", _wrap_CSG_Table_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Table", _wrap_delete_CSG_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Destroy", _wrap_CSG_Table_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_ObjectType", _wrap_CSG_Table_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Assign", _wrap_CSG_Table_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Assign_Values", _wrap_CSG_Table_Assign_Values, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Save", _wrap_CSG_Table_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Serialize", _wrap_CSG_Table_Serialize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Owner", _wrap_CSG_Table_Get_Owner, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_is_Private", _wrap_CSG_Table_is_Private, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_is_Valid", _wrap_CSG_Table_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_is_Compatible", _wrap_CSG_Table_is_Compatible, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Add_Field", _wrap_CSG_Table_Add_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Del_Field", _wrap_CSG_Table_Del_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Field_Count", _wrap_CSG_Table_Get_Field_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Field_Name", _wrap_CSG_Table_Get_Field_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Field_Type", _wrap_CSG_Table_Get_Field_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Field_Length", _wrap_CSG_Table_Get_Field_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Set_Field_Name", _wrap_CSG_Table_Set_Field_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Minimum", _wrap_CSG_Table_Get_Minimum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Maximum", _wrap_CSG_Table_Get_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Range", _wrap_CSG_Table_Get_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Mean", _wrap_CSG_Table_Get_Mean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_StdDev", _wrap_CSG_Table_Get_StdDev, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Variance", _wrap_CSG_Table_Get_Variance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Add_Record", _wrap_CSG_Table_Add_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Ins_Record", _wrap_CSG_Table_Ins_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Del_Record", _wrap_CSG_Table_Del_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Del_Records", _wrap_CSG_Table_Del_Records, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Count", _wrap_CSG_Table_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Record_Count", _wrap_CSG_Table_Get_Record_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Record", _wrap_CSG_Table_Get_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Index", _wrap_CSG_Table_Get_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Record_byIndex", _wrap_CSG_Table_Get_Record_byIndex, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Set_Value", _wrap_CSG_Table_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Value", _wrap_CSG_Table_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Set_Modified", _wrap_CSG_Table_Set_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Selection_Count", _wrap_CSG_Table_Get_Selection_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Selection", _wrap_CSG_Table_Get_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_is_Selected", _wrap_CSG_Table_is_Selected, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Select", _wrap_CSG_Table_Select, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Del_Selection", _wrap_CSG_Table_Del_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Inv_Selection", _wrap_CSG_Table_Inv_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Set_Index", _wrap_CSG_Table_Set_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Del_Index", _wrap_CSG_Table_Del_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Toggle_Index", _wrap_CSG_Table_Toggle_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_is_Indexed", _wrap_CSG_Table_is_Indexed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Index_Field", _wrap_CSG_Table_Get_Index_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_Get_Index_Order", _wrap_CSG_Table_Get_Index_Order, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Table_swigregister", CSG_Table_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Create_Table", _wrap_SG_Create_Table, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid_Pyramid", _wrap_new_CSG_Grid_Pyramid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Pyramid_Create", _wrap_CSG_Grid_Pyramid_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid_Pyramid", _wrap_delete_CSG_Grid_Pyramid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Pyramid_Destroy", _wrap_CSG_Grid_Pyramid_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Pyramid_Get_Count", _wrap_CSG_Grid_Pyramid_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Pyramid_Get_Grid", _wrap_CSG_Grid_Pyramid_Get_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Pyramid_swigregister", CSG_Grid_Pyramid_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid_System", _wrap_new_CSG_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid_System", _wrap_delete_CSG_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_is_Valid", _wrap_CSG_Grid_System_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Name", _wrap_CSG_Grid_System_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Cellsize", _wrap_CSG_Grid_System_Get_Cellsize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Cellarea", _wrap_CSG_Grid_System_Get_Cellarea, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_NX", _wrap_CSG_Grid_System_Get_NX, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_NY", _wrap_CSG_Grid_System_Get_NY, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_NCells", _wrap_CSG_Grid_System_Get_NCells, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Extent", _wrap_CSG_Grid_System_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_XMin", _wrap_CSG_Grid_System_Get_XMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_XMax", _wrap_CSG_Grid_System_Get_XMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_XRange", _wrap_CSG_Grid_System_Get_XRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_YMin", _wrap_CSG_Grid_System_Get_YMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_YMax", _wrap_CSG_Grid_System_Get_YMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_YRange", _wrap_CSG_Grid_System_Get_YRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System___eq__", _wrap_CSG_Grid_System___eq__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Assign", _wrap_CSG_Grid_System_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_is_Equal", _wrap_CSG_Grid_System_is_Equal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Fit_xto_Grid_System", _wrap_CSG_Grid_System_Fit_xto_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Fit_yto_Grid_System", _wrap_CSG_Grid_System_Fit_yto_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Fit_to_Grid_System", _wrap_CSG_Grid_System_Fit_to_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xGrid_to_World", _wrap_CSG_Grid_System_Get_xGrid_to_World, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yGrid_to_World", _wrap_CSG_Grid_System_Get_yGrid_to_World, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Grid_to_World", _wrap_CSG_Grid_System_Get_Grid_to_World, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xWorld_to_Grid", _wrap_CSG_Grid_System_Get_xWorld_to_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yWorld_to_Grid", _wrap_CSG_Grid_System_Get_yWorld_to_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_World_to_Grid", _wrap_CSG_Grid_System_Get_World_to_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Neighbor_Pos", _wrap_CSG_Grid_System_Get_Neighbor_Pos, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xTo", _wrap_CSG_Grid_System_Get_xTo, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yTo", _wrap_CSG_Grid_System_Get_yTo, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xFrom", _wrap_CSG_Grid_System_Get_xFrom, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yFrom", _wrap_CSG_Grid_System_Get_yFrom, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xToSave", _wrap_CSG_Grid_System_Get_xToSave, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yToSave", _wrap_CSG_Grid_System_Get_yToSave, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_xFromSave", _wrap_CSG_Grid_System_Get_xFromSave, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_yFromSave", _wrap_CSG_Grid_System_Get_yFromSave, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_is_InGrid", _wrap_CSG_Grid_System_is_InGrid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_Length", _wrap_CSG_Grid_System_Get_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_Get_UnitLength", _wrap_CSG_Grid_System_Get_UnitLength, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_System_swigregister", CSG_Grid_System_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid", _wrap_new_CSG_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Create", _wrap_CSG_Grid_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid", _wrap_delete_CSG_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Destroy", _wrap_CSG_Grid_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ObjectType", _wrap_CSG_Grid_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Type", _wrap_CSG_Grid_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_nValueBytes", _wrap_CSG_Grid_Get_nValueBytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_nLineBytes", _wrap_CSG_Grid_Get_nLineBytes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Description", _wrap_CSG_Grid_Set_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Description", _wrap_CSG_Grid_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Unit", _wrap_CSG_Grid_Set_Unit, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Unit", _wrap_CSG_Grid_Get_Unit, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_System", _wrap_CSG_Grid_Get_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_NX", _wrap_CSG_Grid_Get_NX, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_NY", _wrap_CSG_Grid_Get_NY, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_NCells", _wrap_CSG_Grid_Get_NCells, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Cellsize", _wrap_CSG_Grid_Get_Cellsize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Cellarea", _wrap_CSG_Grid_Get_Cellarea, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Extent", _wrap_CSG_Grid_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_XMin", _wrap_CSG_Grid_Get_XMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_XMax", _wrap_CSG_Grid_Get_XMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_XRange", _wrap_CSG_Grid_Get_XRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_YMin", _wrap_CSG_Grid_Get_YMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_YMax", _wrap_CSG_Grid_Get_YMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_YRange", _wrap_CSG_Grid_Get_YRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ZMin", _wrap_CSG_Grid_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ZMax", _wrap_CSG_Grid_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ZRange", _wrap_CSG_Grid_Get_ZRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_ZFactor", _wrap_CSG_Grid_Set_ZFactor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ZFactor", _wrap_CSG_Grid_Get_ZFactor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_ArithMean", _wrap_CSG_Grid_Get_ArithMean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_StdDev", _wrap_CSG_Grid_Get_StdDev, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Variance", _wrap_CSG_Grid_Get_Variance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_NoData_Count", _wrap_CSG_Grid_Get_NoData_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Save", _wrap_CSG_Grid_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_Valid", _wrap_CSG_Grid_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_Intersecting", _wrap_CSG_Grid_is_Intersecting, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_Compatible", _wrap_CSG_Grid_is_Compatible, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_InGrid", _wrap_CSG_Grid_is_InGrid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_InGrid_byPos", _wrap_CSG_Grid_is_InGrid_byPos, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Buffer_Size", _wrap_CSG_Grid_Get_Buffer_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Buffer_Size", _wrap_CSG_Grid_Set_Buffer_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Cache", _wrap_CSG_Grid_Set_Cache, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_Cached", _wrap_CSG_Grid_is_Cached, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Compression", _wrap_CSG_Grid_Set_Compression, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_Compressed", _wrap_CSG_Grid_is_Compressed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Compression_Ratio", _wrap_CSG_Grid_Get_Compression_Ratio, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Assign_NoData", _wrap_CSG_Grid_Assign_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Assign", _wrap_CSG_Grid_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Flip", _wrap_CSG_Grid_Flip, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Mirror", _wrap_CSG_Grid_Mirror, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Invert", _wrap_CSG_Grid_Invert, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Normalise", _wrap_CSG_Grid_Normalise, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_DeNormalise", _wrap_CSG_Grid_DeNormalise, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Gradient_NeighborDir", _wrap_CSG_Grid_Get_Gradient_NeighborDir, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Gradient", _wrap_CSG_Grid_Get_Gradient, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Modified", _wrap_CSG_Grid_Set_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Index", _wrap_CSG_Grid_Set_Index, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Sorted", _wrap_CSG_Grid_Get_Sorted, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Percentile", _wrap_CSG_Grid_Get_Percentile, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_is_NoData", _wrap_CSG_Grid_is_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_NoData", _wrap_CSG_Grid_Set_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___add__", _wrap_CSG_Grid___add__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___iadd__", _wrap_CSG_Grid___iadd__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Add", _wrap_CSG_Grid_Add, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___sub__", _wrap_CSG_Grid___sub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___isub__", _wrap_CSG_Grid___isub__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Subtract", _wrap_CSG_Grid_Subtract, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___mul__", _wrap_CSG_Grid___mul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___imul__", _wrap_CSG_Grid___imul__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Multiply", _wrap_CSG_Grid_Multiply, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___div__", _wrap_CSG_Grid___div__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___idiv__", _wrap_CSG_Grid___idiv__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Divide", _wrap_CSG_Grid_Divide, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid___call__", _wrap_CSG_Grid___call__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Get_Value", _wrap_CSG_Grid_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asByte", _wrap_CSG_Grid_asByte, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asChar", _wrap_CSG_Grid_asChar, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asShort", _wrap_CSG_Grid_asShort, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asInt", _wrap_CSG_Grid_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asFloat", _wrap_CSG_Grid_asFloat, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_asDouble", _wrap_CSG_Grid_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Add_Value", _wrap_CSG_Grid_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Mul_Value", _wrap_CSG_Grid_Mul_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Value", _wrap_CSG_Grid_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Set_Value_And_Sort", _wrap_CSG_Grid_Set_Value_And_Sort, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_swigregister", CSG_Grid_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Create_Grid", _wrap_SG_Create_Grid, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Get_Directory", _wrap_SG_Grid_Cache_Get_Directory, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Set_Directory", _wrap_SG_Grid_Cache_Set_Directory, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Set_Automatic", _wrap_SG_Grid_Cache_Set_Automatic, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Get_Automatic", _wrap_SG_Grid_Cache_Get_Automatic, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Set_Confirm", _wrap_SG_Grid_Cache_Set_Confirm, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Get_Confirm", _wrap_SG_Grid_Cache_Get_Confirm, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Set_Threshold", _wrap_SG_Grid_Cache_Set_Threshold, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Set_Threshold_MB", _wrap_SG_Grid_Cache_Set_Threshold_MB, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Get_Threshold", _wrap_SG_Grid_Cache_Get_Threshold, METH_VARARGS, NULL},
+-	 { (char *)"SG_Grid_Cache_Get_Threshold_MB", _wrap_SG_Grid_Cache_Get_Threshold_MB, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid_Stack", _wrap_new_CSG_Grid_Stack, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Stack_Push", _wrap_CSG_Grid_Stack_Push, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Stack_Pop", _wrap_CSG_Grid_Stack_Pop, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid_Stack", _wrap_delete_CSG_Grid_Stack, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Stack_swigregister", CSG_Grid_Stack_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Grid_Cell_Addressor", _wrap_new_CSG_Grid_Cell_Addressor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Destroy", _wrap_CSG_Grid_Cell_Addressor_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Weighting", _wrap_CSG_Grid_Cell_Addressor_Get_Weighting, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Set_Radius", _wrap_CSG_Grid_Cell_Addressor_Set_Radius, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Set_Sector", _wrap_CSG_Grid_Cell_Addressor_Set_Sector, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Count", _wrap_CSG_Grid_Cell_Addressor_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_X", _wrap_CSG_Grid_Cell_Addressor_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Y", _wrap_CSG_Grid_Cell_Addressor_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Distance", _wrap_CSG_Grid_Cell_Addressor_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Weight", _wrap_CSG_Grid_Cell_Addressor_Get_Weight, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_Get_Values", _wrap_CSG_Grid_Cell_Addressor_Get_Values, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Grid_Cell_Addressor", _wrap_delete_CSG_Grid_Cell_Addressor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Grid_Cell_Addressor_swigregister", CSG_Grid_Cell_Addressor_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Get_ShapeType_Name", _wrap_SG_Get_ShapeType_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Destroy", _wrap_CSG_Shape_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Assign", _wrap_CSG_Shape_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Type", _wrap_CSG_Shape_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_is_Valid", _wrap_CSG_Shape_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Del_Point", _wrap_CSG_Shape_Del_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Add_Point", _wrap_CSG_Shape_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Ins_Point", _wrap_CSG_Shape_Ins_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Set_Point", _wrap_CSG_Shape_Set_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Del_Part", _wrap_CSG_Shape_Del_Part, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Del_Parts", _wrap_CSG_Shape_Del_Parts, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Part_Count", _wrap_CSG_Shape_Get_Part_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Point_Count", _wrap_CSG_Shape_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Point", _wrap_CSG_Shape_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Set_Z", _wrap_CSG_Shape_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Z", _wrap_CSG_Shape_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_ZMin", _wrap_CSG_Shape_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_ZMax", _wrap_CSG_Shape_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Set_M", _wrap_CSG_Shape_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_M", _wrap_CSG_Shape_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_MMin", _wrap_CSG_Shape_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_MMax", _wrap_CSG_Shape_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Extent", _wrap_CSG_Shape_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Intersects", _wrap_CSG_Shape_Intersects, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Get_Distance", _wrap_CSG_Shape_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_swigregister", CSG_Shape_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_is_Valid", _wrap_CSG_Shape_Point_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Add_Point", _wrap_CSG_Shape_Point_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Ins_Point", _wrap_CSG_Shape_Point_Ins_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Set_Point", _wrap_CSG_Shape_Point_Set_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Del_Point", _wrap_CSG_Shape_Point_Del_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Del_Part", _wrap_CSG_Shape_Point_Del_Part, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Del_Parts", _wrap_CSG_Shape_Point_Del_Parts, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Get_Part_Count", _wrap_CSG_Shape_Point_Get_Part_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Get_Point_Count", _wrap_CSG_Shape_Point_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Get_Point", _wrap_CSG_Shape_Point_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Get_Extent", _wrap_CSG_Shape_Point_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Get_Distance", _wrap_CSG_Shape_Point_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_swigregister", CSG_Shape_Point_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Shape_Point_Z", _wrap_new_CSG_Shape_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Z_Set_Z", _wrap_CSG_Shape_Point_Z_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Z_Get_Z", _wrap_CSG_Shape_Point_Z_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Z_Get_ZMin", _wrap_CSG_Shape_Point_Z_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Z_Get_ZMax", _wrap_CSG_Shape_Point_Z_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Shape_Point_Z", _wrap_delete_CSG_Shape_Point_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_Z_swigregister", CSG_Shape_Point_Z_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Shape_Point_ZM", _wrap_new_CSG_Shape_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_ZM_Set_M", _wrap_CSG_Shape_Point_ZM_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_ZM_Get_M", _wrap_CSG_Shape_Point_ZM_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_ZM_Get_MMin", _wrap_CSG_Shape_Point_ZM_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_ZM_Get_MMax", _wrap_CSG_Shape_Point_ZM_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Shape_Point_ZM", _wrap_delete_CSG_Shape_Point_ZM, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Point_ZM_swigregister", CSG_Shape_Point_ZM_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_Owner", _wrap_CSG_Shape_Part_Get_Owner, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Destroy", _wrap_CSG_Shape_Part_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Assign", _wrap_CSG_Shape_Part_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_Extent", _wrap_CSG_Shape_Part_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_Count", _wrap_CSG_Shape_Part_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_Point", _wrap_CSG_Shape_Part_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Add_Point", _wrap_CSG_Shape_Part_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Ins_Point", _wrap_CSG_Shape_Part_Ins_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Set_Point", _wrap_CSG_Shape_Part_Set_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Del_Point", _wrap_CSG_Shape_Part_Del_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Set_Z", _wrap_CSG_Shape_Part_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_Z", _wrap_CSG_Shape_Part_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_ZMin", _wrap_CSG_Shape_Part_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_ZMax", _wrap_CSG_Shape_Part_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Set_M", _wrap_CSG_Shape_Part_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_M", _wrap_CSG_Shape_Part_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_MMin", _wrap_CSG_Shape_Part_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Get_MMax", _wrap_CSG_Shape_Part_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_swigregister", CSG_Shape_Part_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Destroy", _wrap_CSG_Shape_Part_Z_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Assign", _wrap_CSG_Shape_Part_Z_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Set_Z", _wrap_CSG_Shape_Part_Z_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Get_Z", _wrap_CSG_Shape_Part_Z_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Get_ZMin", _wrap_CSG_Shape_Part_Z_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_Get_ZMax", _wrap_CSG_Shape_Part_Z_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_Z_swigregister", CSG_Shape_Part_Z_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Destroy", _wrap_CSG_Shape_Part_ZM_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Assign", _wrap_CSG_Shape_Part_ZM_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Set_M", _wrap_CSG_Shape_Part_ZM_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Get_M", _wrap_CSG_Shape_Part_ZM_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Get_MMin", _wrap_CSG_Shape_Part_ZM_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_Get_MMax", _wrap_CSG_Shape_Part_ZM_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Part_ZM_swigregister", CSG_Shape_Part_ZM_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Destroy", _wrap_CSG_Shape_Points_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_is_Valid", _wrap_CSG_Shape_Points_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Add_Point", _wrap_CSG_Shape_Points_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Ins_Point", _wrap_CSG_Shape_Points_Ins_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Set_Point", _wrap_CSG_Shape_Points_Set_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Del_Point", _wrap_CSG_Shape_Points_Del_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Del_Part", _wrap_CSG_Shape_Points_Del_Part, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Del_Parts", _wrap_CSG_Shape_Points_Del_Parts, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Part_Count", _wrap_CSG_Shape_Points_Get_Part_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Part", _wrap_CSG_Shape_Points_Get_Part, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Point_Count", _wrap_CSG_Shape_Points_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Point", _wrap_CSG_Shape_Points_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Set_Z", _wrap_CSG_Shape_Points_Set_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Z", _wrap_CSG_Shape_Points_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_ZMin", _wrap_CSG_Shape_Points_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_ZMax", _wrap_CSG_Shape_Points_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Set_M", _wrap_CSG_Shape_Points_Set_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_M", _wrap_CSG_Shape_Points_Get_M, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_MMin", _wrap_CSG_Shape_Points_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_MMax", _wrap_CSG_Shape_Points_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Extent", _wrap_CSG_Shape_Points_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_Get_Distance", _wrap_CSG_Shape_Points_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Points_swigregister", CSG_Shape_Points_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Line_is_Valid", _wrap_CSG_Shape_Line_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Line_Get_Length", _wrap_CSG_Shape_Line_Get_Length, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Line_Get_Distance", _wrap_CSG_Shape_Line_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Line_swigregister", CSG_Shape_Line_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_is_Clockwise", _wrap_CSG_Shape_Polygon_Part_is_Clockwise, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_Get_Perimeter", _wrap_CSG_Shape_Polygon_Part_Get_Perimeter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_Get_Area", _wrap_CSG_Shape_Polygon_Part_Get_Area, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_Get_Centroid", _wrap_CSG_Shape_Polygon_Part_Get_Centroid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_is_Containing", _wrap_CSG_Shape_Polygon_Part_is_Containing, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_Get_Distance", _wrap_CSG_Shape_Polygon_Part_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Part_swigregister", CSG_Shape_Polygon_Part_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_is_Valid", _wrap_CSG_Shape_Polygon_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Get_Polygon_Part", _wrap_CSG_Shape_Polygon_Get_Polygon_Part, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_is_Lake", _wrap_CSG_Shape_Polygon_is_Lake, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_is_Clockwise", _wrap_CSG_Shape_Polygon_is_Clockwise, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Get_Perimeter", _wrap_CSG_Shape_Polygon_Get_Perimeter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Get_Area", _wrap_CSG_Shape_Polygon_Get_Area, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Get_Centroid", _wrap_CSG_Shape_Polygon_Get_Centroid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_is_Containing", _wrap_CSG_Shape_Polygon_is_Containing, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_Get_Distance", _wrap_CSG_Shape_Polygon_Get_Distance, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shape_Polygon_swigregister", CSG_Shape_Polygon_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Shapes", _wrap_new_CSG_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Create", _wrap_CSG_Shapes_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Shapes", _wrap_delete_CSG_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Destroy", _wrap_CSG_Shapes_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_ObjectType", _wrap_CSG_Shapes_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Assign", _wrap_CSG_Shapes_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Save", _wrap_CSG_Shapes_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_is_Valid", _wrap_CSG_Shapes_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Type", _wrap_CSG_Shapes_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Vertex_Type", _wrap_CSG_Shapes_Get_Vertex_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Extent", _wrap_CSG_Shapes_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_ZMin", _wrap_CSG_Shapes_Get_ZMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_ZMax", _wrap_CSG_Shapes_Get_ZMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_MMin", _wrap_CSG_Shapes_Get_MMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_MMax", _wrap_CSG_Shapes_Get_MMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Add_Shape", _wrap_CSG_Shapes_Add_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Del_Shape", _wrap_CSG_Shapes_Del_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Del_Shapes", _wrap_CSG_Shapes_Del_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Shape", _wrap_CSG_Shapes_Get_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Shape_byIndex", _wrap_CSG_Shapes_Get_Shape_byIndex, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Make_Clean", _wrap_CSG_Shapes_Make_Clean, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Selection", _wrap_CSG_Shapes_Get_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Get_Selection_Extent", _wrap_CSG_Shapes_Get_Selection_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Select", _wrap_CSG_Shapes_Select, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_swigregister", CSG_Shapes_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Create_Shapes", _wrap_SG_Create_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_is_Leaf", _wrap_CSG_PRQuadTree_Item_is_Leaf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_is_Node", _wrap_CSG_PRQuadTree_Item_is_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_Extent", _wrap_CSG_PRQuadTree_Item_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_xMin", _wrap_CSG_PRQuadTree_Item_Get_xMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_yMin", _wrap_CSG_PRQuadTree_Item_Get_yMin, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_xCenter", _wrap_CSG_PRQuadTree_Item_Get_xCenter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_yCenter", _wrap_CSG_PRQuadTree_Item_Get_yCenter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_xMax", _wrap_CSG_PRQuadTree_Item_Get_xMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_yMax", _wrap_CSG_PRQuadTree_Item_Get_yMax, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Get_Size", _wrap_CSG_PRQuadTree_Item_Get_Size, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_Contains", _wrap_CSG_PRQuadTree_Item_Contains, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_asLeaf", _wrap_CSG_PRQuadTree_Item_asLeaf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_asNode", _wrap_CSG_PRQuadTree_Item_asNode, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_PRQuadTree_Item", _wrap_delete_CSG_PRQuadTree_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Item_swigregister", CSG_PRQuadTree_Item_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_is_Leaf", _wrap_CSG_PRQuadTree_Leaf_is_Leaf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_Get_Point", _wrap_CSG_PRQuadTree_Leaf_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_Get_X", _wrap_CSG_PRQuadTree_Leaf_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_Get_Y", _wrap_CSG_PRQuadTree_Leaf_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_Get_Z", _wrap_CSG_PRQuadTree_Leaf_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_PRQuadTree_Leaf", _wrap_delete_CSG_PRQuadTree_Leaf, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Leaf_swigregister", CSG_PRQuadTree_Leaf_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Node_is_Node", _wrap_CSG_PRQuadTree_Node_is_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Node_Get_Child", _wrap_CSG_PRQuadTree_Node_Get_Child, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Node_Add_Point", _wrap_CSG_PRQuadTree_Node_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Node_swigregister", CSG_PRQuadTree_Node_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_PRQuadTree", _wrap_new_CSG_PRQuadTree, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_PRQuadTree", _wrap_delete_CSG_PRQuadTree, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Create", _wrap_CSG_PRQuadTree_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Destroy", _wrap_CSG_PRQuadTree_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Add_Point", _wrap_CSG_PRQuadTree_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Get_Point_Count", _wrap_CSG_PRQuadTree_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Get_Root", _wrap_CSG_PRQuadTree_Get_Root, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_is_Okay", _wrap_CSG_PRQuadTree_is_Okay, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Get_Nearest_Point", _wrap_CSG_PRQuadTree_Get_Nearest_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Select_Nearest_Points", _wrap_CSG_PRQuadTree_Select_Nearest_Points, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Get_Selected_Count", _wrap_CSG_PRQuadTree_Get_Selected_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_Get_Selected_Point", _wrap_CSG_PRQuadTree_Get_Selected_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PRQuadTree_swigregister", CSG_PRQuadTree_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Shapes_Search", _wrap_new_CSG_Shapes_Search, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Shapes_Search", _wrap_delete_CSG_Shapes_Search, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Create", _wrap_CSG_Shapes_Search_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Destroy", _wrap_CSG_Shapes_Search_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_is_Valid", _wrap_CSG_Shapes_Search_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Get_Point_Nearest", _wrap_CSG_Shapes_Search_Get_Point_Nearest, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Select_Radius", _wrap_CSG_Shapes_Search_Select_Radius, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Select_Quadrants", _wrap_CSG_Shapes_Search_Select_Quadrants, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Get_Selected_Count", _wrap_CSG_Shapes_Search_Get_Selected_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_Get_Selected_Point", _wrap_CSG_Shapes_Search_Get_Selected_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_Search_swigregister", CSG_Shapes_Search_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Shapes_OGIS_Converter", _wrap_new_CSG_Shapes_OGIS_Converter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_OGIS_Converter_from_WKText", _wrap_CSG_Shapes_OGIS_Converter_from_WKText, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_OGIS_Converter_to_WKText", _wrap_CSG_Shapes_OGIS_Converter_to_WKText, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_OGIS_Converter_from_WKBinary", _wrap_CSG_Shapes_OGIS_Converter_from_WKBinary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_OGIS_Converter_to_WKBinary", _wrap_CSG_Shapes_OGIS_Converter_to_WKBinary, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Shapes_OGIS_Converter", _wrap_delete_CSG_Shapes_OGIS_Converter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Shapes_OGIS_Converter_swigregister", CSG_Shapes_OGIS_Converter_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_ID", _wrap_CSG_TIN_Node_Get_ID, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Point", _wrap_CSG_TIN_Node_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_X", _wrap_CSG_TIN_Node_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Y", _wrap_CSG_TIN_Node_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Neighbor_Count", _wrap_CSG_TIN_Node_Get_Neighbor_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Neighbor", _wrap_CSG_TIN_Node_Get_Neighbor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Gradient", _wrap_CSG_TIN_Node_Get_Gradient, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Triangle_Count", _wrap_CSG_TIN_Node_Get_Triangle_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Triangle", _wrap_CSG_TIN_Node_Get_Triangle, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Polygon", _wrap_CSG_TIN_Node_Get_Polygon, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_Get_Polygon_Area", _wrap_CSG_TIN_Node_Get_Polygon_Area, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Node_swigregister", CSG_TIN_Node_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Edge_Get_Node", _wrap_CSG_TIN_Edge_Get_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Edge_swigregister", CSG_TIN_Edge_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_Node", _wrap_CSG_TIN_Triangle_Get_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_Extent", _wrap_CSG_TIN_Triangle_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_Area", _wrap_CSG_TIN_Triangle_Get_Area, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_is_Containing", _wrap_CSG_TIN_Triangle_is_Containing, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_Gradient", _wrap_CSG_TIN_Triangle_Get_Gradient, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_CircumCircle", _wrap_CSG_TIN_Triangle_Get_CircumCircle, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_CircumCircle_Radius", _wrap_CSG_TIN_Triangle_Get_CircumCircle_Radius, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_Get_CircumCircle_Point", _wrap_CSG_TIN_Triangle_Get_CircumCircle_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Triangle_swigregister", CSG_TIN_Triangle_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_TIN", _wrap_new_CSG_TIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Create", _wrap_CSG_TIN_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_TIN", _wrap_delete_CSG_TIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Destroy", _wrap_CSG_TIN_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_ObjectType", _wrap_CSG_TIN_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Assign", _wrap_CSG_TIN_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Save", _wrap_CSG_TIN_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_is_Valid", _wrap_CSG_TIN_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Extent", _wrap_CSG_TIN_Get_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Add_Node", _wrap_CSG_TIN_Add_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Del_Node", _wrap_CSG_TIN_Del_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Node_Count", _wrap_CSG_TIN_Get_Node_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Node", _wrap_CSG_TIN_Get_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Edge_Count", _wrap_CSG_TIN_Get_Edge_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Edge", _wrap_CSG_TIN_Get_Edge, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Triangle_Count", _wrap_CSG_TIN_Get_Triangle_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_Get_Triangle", _wrap_CSG_TIN_Get_Triangle, METH_VARARGS, NULL},
+-	 { (char *)"CSG_TIN_swigregister", CSG_TIN_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Create_TIN", _wrap_SG_Create_TIN, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_PointCloud", _wrap_new_CSG_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Create", _wrap_CSG_PointCloud_Create, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_PointCloud", _wrap_delete_CSG_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Destroy", _wrap_CSG_PointCloud_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_ObjectType", _wrap_CSG_PointCloud_Get_ObjectType, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Assign", _wrap_CSG_PointCloud_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Save", _wrap_CSG_PointCloud_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_XYZ_Precision", _wrap_CSG_PointCloud_Set_XYZ_Precision, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_is_Valid", _wrap_CSG_PointCloud_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_is_Compatible", _wrap_CSG_PointCloud_is_Compatible, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Add_Field", _wrap_CSG_PointCloud_Add_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Field", _wrap_CSG_PointCloud_Del_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Attribute_Count", _wrap_CSG_PointCloud_Get_Attribute_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Attribute_Name", _wrap_CSG_PointCloud_Get_Attribute_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Attribute_Type", _wrap_CSG_PointCloud_Get_Attribute_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Add_Point", _wrap_CSG_PointCloud_Add_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Point", _wrap_CSG_PointCloud_Del_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Points", _wrap_CSG_PointCloud_Del_Points, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Point_Count", _wrap_CSG_PointCloud_Get_Point_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_Cursor", _wrap_CSG_PointCloud_Set_Cursor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_X", _wrap_CSG_PointCloud_Get_X, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Y", _wrap_CSG_PointCloud_Get_Y, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Z", _wrap_CSG_PointCloud_Get_Z, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_Attribute", _wrap_CSG_PointCloud_Set_Attribute, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Attribute", _wrap_CSG_PointCloud_Get_Attribute, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_NoData", _wrap_CSG_PointCloud_Set_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_is_NoData", _wrap_CSG_PointCloud_is_NoData, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_Value", _wrap_CSG_PointCloud_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Value", _wrap_CSG_PointCloud_Get_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Point", _wrap_CSG_PointCloud_Get_Point, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Set_Modified", _wrap_CSG_PointCloud_Set_Modified, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Record", _wrap_CSG_PointCloud_Get_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Shape", _wrap_CSG_PointCloud_Get_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Record", _wrap_CSG_PointCloud_Del_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Records", _wrap_CSG_PointCloud_Del_Records, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Shapes", _wrap_CSG_PointCloud_Del_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Ins_Record", _wrap_CSG_PointCloud_Ins_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Add_Record", _wrap_CSG_PointCloud_Add_Record, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Add_Shape", _wrap_CSG_PointCloud_Add_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Shape", _wrap_CSG_PointCloud_Del_Shape, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Select", _wrap_CSG_PointCloud_Select, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_is_Selected", _wrap_CSG_PointCloud_is_Selected, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Del_Selection", _wrap_CSG_PointCloud_Del_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Inv_Selection", _wrap_CSG_PointCloud_Inv_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Selection", _wrap_CSG_PointCloud_Get_Selection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_Get_Selection_Extent", _wrap_CSG_PointCloud_Get_Selection_Extent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_PointCloud_swigregister", CSG_PointCloud_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SG_Create_PointCloud", _wrap_SG_Create_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"SG_Parameter_Type_Get_Identifier", _wrap_SG_Parameter_Type_Get_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"SG_Parameter_Type_Get_Name", _wrap_SG_Parameter_Type_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Data", _wrap_delete_CSG_Parameter_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Get_Type", _wrap_CSG_Parameter_Data_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Get_Type_Identifier", _wrap_CSG_Parameter_Data_Get_Type_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Get_Type_Name", _wrap_CSG_Parameter_Data_Get_Type_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Get_Constraint", _wrap_CSG_Parameter_Data_Get_Constraint, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_is_Valid", _wrap_CSG_Parameter_Data_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Assign", _wrap_CSG_Parameter_Data_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Serialize", _wrap_CSG_Parameter_Data_Serialize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Set_Value", _wrap_CSG_Parameter_Data_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_asInt", _wrap_CSG_Parameter_Data_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_asDouble", _wrap_CSG_Parameter_Data_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_asPointer", _wrap_CSG_Parameter_Data_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_asString", _wrap_CSG_Parameter_Data_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Get_Default", _wrap_CSG_Parameter_Data_Get_Default, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Set_Default", _wrap_CSG_Parameter_Data_Set_Default, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_swigregister", CSG_Parameter_Data_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Node", _wrap_new_CSG_Parameter_Node, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Node", _wrap_delete_CSG_Parameter_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Node_Get_Type", _wrap_CSG_Parameter_Node_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Node_swigregister", CSG_Parameter_Node_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Bool", _wrap_new_CSG_Parameter_Bool, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Bool", _wrap_delete_CSG_Parameter_Bool, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Bool_Get_Type", _wrap_CSG_Parameter_Bool_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Bool_Set_Value", _wrap_CSG_Parameter_Bool_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Bool_asInt", _wrap_CSG_Parameter_Bool_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Bool_asString", _wrap_CSG_Parameter_Bool_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Bool_swigregister", CSG_Parameter_Bool_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Value", _wrap_delete_CSG_Parameter_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_Set_Range", _wrap_CSG_Parameter_Value_Set_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_Set_Minimum", _wrap_CSG_Parameter_Value_Set_Minimum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_Get_Minimum", _wrap_CSG_Parameter_Value_Get_Minimum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_has_Minimum", _wrap_CSG_Parameter_Value_has_Minimum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_Set_Maximum", _wrap_CSG_Parameter_Value_Set_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_Get_Maximum", _wrap_CSG_Parameter_Value_Get_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_has_Maximum", _wrap_CSG_Parameter_Value_has_Maximum, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Value_swigregister", CSG_Parameter_Value_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Int", _wrap_new_CSG_Parameter_Int, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Int", _wrap_delete_CSG_Parameter_Int, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_Get_Type", _wrap_CSG_Parameter_Int_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_Set_Value", _wrap_CSG_Parameter_Int_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_asInt", _wrap_CSG_Parameter_Int_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_asDouble", _wrap_CSG_Parameter_Int_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_asString", _wrap_CSG_Parameter_Int_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Int_swigregister", CSG_Parameter_Int_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Double", _wrap_new_CSG_Parameter_Double, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Double", _wrap_delete_CSG_Parameter_Double, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_Get_Type", _wrap_CSG_Parameter_Double_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_Set_Value", _wrap_CSG_Parameter_Double_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_asInt", _wrap_CSG_Parameter_Double_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_asDouble", _wrap_CSG_Parameter_Double_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_asString", _wrap_CSG_Parameter_Double_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Double_swigregister", CSG_Parameter_Double_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Degree", _wrap_new_CSG_Parameter_Degree, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Degree", _wrap_delete_CSG_Parameter_Degree, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Degree_Get_Type", _wrap_CSG_Parameter_Degree_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Degree_Set_Value", _wrap_CSG_Parameter_Degree_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Degree_asString", _wrap_CSG_Parameter_Degree_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Degree_swigregister", CSG_Parameter_Degree_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Range", _wrap_new_CSG_Parameter_Range, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Range", _wrap_delete_CSG_Parameter_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Get_Type", _wrap_CSG_Parameter_Range_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_asString", _wrap_CSG_Parameter_Range_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Set_Range", _wrap_CSG_Parameter_Range_Set_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Set_LoVal", _wrap_CSG_Parameter_Range_Set_LoVal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Get_LoVal", _wrap_CSG_Parameter_Range_Get_LoVal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Set_HiVal", _wrap_CSG_Parameter_Range_Set_HiVal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Get_HiVal", _wrap_CSG_Parameter_Range_Get_HiVal, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Get_LoParm", _wrap_CSG_Parameter_Range_Get_LoParm, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_Get_HiParm", _wrap_CSG_Parameter_Range_Get_HiParm, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Range_swigregister", CSG_Parameter_Range_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Choice", _wrap_new_CSG_Parameter_Choice, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Choice", _wrap_delete_CSG_Parameter_Choice, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Get_Type", _wrap_CSG_Parameter_Choice_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Set_Value", _wrap_CSG_Parameter_Choice_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_asString", _wrap_CSG_Parameter_Choice_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Set_Items", _wrap_CSG_Parameter_Choice_Set_Items, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Get_Item", _wrap_CSG_Parameter_Choice_Get_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Get_Data", _wrap_CSG_Parameter_Choice_Get_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_Get_Count", _wrap_CSG_Parameter_Choice_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Choice_swigregister", CSG_Parameter_Choice_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_String", _wrap_new_CSG_Parameter_String, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_String", _wrap_delete_CSG_Parameter_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_Get_Type", _wrap_CSG_Parameter_String_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_asString", _wrap_CSG_Parameter_String_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_is_Valid", _wrap_CSG_Parameter_String_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_Set_Value", _wrap_CSG_Parameter_String_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_Set_Password", _wrap_CSG_Parameter_String_Set_Password, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_is_Password", _wrap_CSG_Parameter_String_is_Password, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_String_swigregister", CSG_Parameter_String_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Text", _wrap_new_CSG_Parameter_Text, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Text", _wrap_delete_CSG_Parameter_Text, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Text_Get_Type", _wrap_CSG_Parameter_Text_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Text_swigregister", CSG_Parameter_Text_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_File_Name", _wrap_new_CSG_Parameter_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_File_Name", _wrap_delete_CSG_Parameter_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Get_Type", _wrap_CSG_Parameter_File_Name_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Set_Filter", _wrap_CSG_Parameter_File_Name_Set_Filter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Get_Filter", _wrap_CSG_Parameter_File_Name_Get_Filter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Set_Flag_Save", _wrap_CSG_Parameter_File_Name_Set_Flag_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_is_Save", _wrap_CSG_Parameter_File_Name_is_Save, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Set_Flag_Multiple", _wrap_CSG_Parameter_File_Name_Set_Flag_Multiple, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_is_Multiple", _wrap_CSG_Parameter_File_Name_is_Multiple, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Set_Flag_Directory", _wrap_CSG_Parameter_File_Name_Set_Flag_Directory, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_is_Directory", _wrap_CSG_Parameter_File_Name_is_Directory, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_Get_FilePaths", _wrap_CSG_Parameter_File_Name_Get_FilePaths, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_File_Name_swigregister", CSG_Parameter_File_Name_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Font", _wrap_new_CSG_Parameter_Font, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Font", _wrap_delete_CSG_Parameter_Font, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_Get_Type", _wrap_CSG_Parameter_Font_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_Set_Value", _wrap_CSG_Parameter_Font_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_asInt", _wrap_CSG_Parameter_Font_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_asPointer", _wrap_CSG_Parameter_Font_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_asString", _wrap_CSG_Parameter_Font_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Font_swigregister", CSG_Parameter_Font_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Color", _wrap_new_CSG_Parameter_Color, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Color", _wrap_delete_CSG_Parameter_Color, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Color_Get_Type", _wrap_CSG_Parameter_Color_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Color_swigregister", CSG_Parameter_Color_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Colors", _wrap_new_CSG_Parameter_Colors, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Colors", _wrap_delete_CSG_Parameter_Colors, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Colors_Get_Type", _wrap_CSG_Parameter_Colors_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Colors_asInt", _wrap_CSG_Parameter_Colors_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Colors_asPointer", _wrap_CSG_Parameter_Colors_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Colors_asString", _wrap_CSG_Parameter_Colors_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Colors_swigregister", CSG_Parameter_Colors_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Fixed_Table", _wrap_new_CSG_Parameter_Fixed_Table, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Fixed_Table", _wrap_delete_CSG_Parameter_Fixed_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Fixed_Table_Get_Type", _wrap_CSG_Parameter_Fixed_Table_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Fixed_Table_asPointer", _wrap_CSG_Parameter_Fixed_Table_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Fixed_Table_asString", _wrap_CSG_Parameter_Fixed_Table_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Fixed_Table_swigregister", CSG_Parameter_Fixed_Table_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Grid_System", _wrap_new_CSG_Parameter_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Grid_System", _wrap_delete_CSG_Parameter_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_System_Get_Type", _wrap_CSG_Parameter_Grid_System_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_System_Set_Value", _wrap_CSG_Parameter_Grid_System_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_System_asPointer", _wrap_CSG_Parameter_Grid_System_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_System_asString", _wrap_CSG_Parameter_Grid_System_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_System_swigregister", CSG_Parameter_Grid_System_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Table_Field", _wrap_new_CSG_Parameter_Table_Field, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Table_Field", _wrap_delete_CSG_Parameter_Table_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Field_Get_Type", _wrap_CSG_Parameter_Table_Field_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Field_asString", _wrap_CSG_Parameter_Table_Field_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Field_Set_Value", _wrap_CSG_Parameter_Table_Field_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Field_Get_Table", _wrap_CSG_Parameter_Table_Field_Get_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Field_swigregister", CSG_Parameter_Table_Field_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Data_Object", _wrap_delete_CSG_Parameter_Data_Object, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_is_Valid", _wrap_CSG_Parameter_Data_Object_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Set_Value", _wrap_CSG_Parameter_Data_Object_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_asPointer", _wrap_CSG_Parameter_Data_Object_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_asString", _wrap_CSG_Parameter_Data_Object_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_swigregister", CSG_Parameter_Data_Object_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Data_Object_Output", _wrap_new_CSG_Parameter_Data_Object_Output, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Data_Object_Output", _wrap_delete_CSG_Parameter_Data_Object_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Output_Get_Type", _wrap_CSG_Parameter_Data_Object_Output_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Output_Set_Value", _wrap_CSG_Parameter_Data_Object_Output_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Output_Set_DataObject_Type", _wrap_CSG_Parameter_Data_Object_Output_Set_DataObject_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Output_Get_DataObject_Type", _wrap_CSG_Parameter_Data_Object_Output_Get_DataObject_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Data_Object_Output_swigregister", CSG_Parameter_Data_Object_Output_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Grid", _wrap_new_CSG_Parameter_Grid, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Grid", _wrap_delete_CSG_Parameter_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_Get_Type", _wrap_CSG_Parameter_Grid_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_Set_Value", _wrap_CSG_Parameter_Grid_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_Set_Preferred_Type", _wrap_CSG_Parameter_Grid_Set_Preferred_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_Get_Preferred_Type", _wrap_CSG_Parameter_Grid_Get_Preferred_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_Get_System", _wrap_CSG_Parameter_Grid_Get_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_swigregister", CSG_Parameter_Grid_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Table", _wrap_new_CSG_Parameter_Table, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Table", _wrap_delete_CSG_Parameter_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Get_Type", _wrap_CSG_Parameter_Table_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_Set_Value", _wrap_CSG_Parameter_Table_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_swigregister", CSG_Parameter_Table_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Shapes", _wrap_new_CSG_Parameter_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Shapes", _wrap_delete_CSG_Parameter_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_Get_Type", _wrap_CSG_Parameter_Shapes_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_Set_Value", _wrap_CSG_Parameter_Shapes_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_Set_Shape_Type", _wrap_CSG_Parameter_Shapes_Set_Shape_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_Get_Shape_Type", _wrap_CSG_Parameter_Shapes_Get_Shape_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_swigregister", CSG_Parameter_Shapes_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_TIN", _wrap_new_CSG_Parameter_TIN, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_TIN", _wrap_delete_CSG_Parameter_TIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_Get_Type", _wrap_CSG_Parameter_TIN_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_Set_Value", _wrap_CSG_Parameter_TIN_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_swigregister", CSG_Parameter_TIN_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_PointCloud", _wrap_new_CSG_Parameter_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_PointCloud", _wrap_delete_CSG_Parameter_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_Get_Type", _wrap_CSG_Parameter_PointCloud_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_Set_Value", _wrap_CSG_Parameter_PointCloud_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_swigregister", CSG_Parameter_PointCloud_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_List", _wrap_delete_CSG_Parameter_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_asString", _wrap_CSG_Parameter_List_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_asInt", _wrap_CSG_Parameter_List_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_asPointer", _wrap_CSG_Parameter_List_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_Add_Item", _wrap_CSG_Parameter_List_Add_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_Del_Item", _wrap_CSG_Parameter_List_Del_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_Del_Items", _wrap_CSG_Parameter_List_Del_Items, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_Get_Count", _wrap_CSG_Parameter_List_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_asDataObject", _wrap_CSG_Parameter_List_asDataObject, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_List_swigregister", CSG_Parameter_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Grid_List", _wrap_new_CSG_Parameter_Grid_List, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Grid_List", _wrap_delete_CSG_Parameter_Grid_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_List_Get_Type", _wrap_CSG_Parameter_Grid_List_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_List_Get_System", _wrap_CSG_Parameter_Grid_List_Get_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_List_asGrid", _wrap_CSG_Parameter_Grid_List_asGrid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Grid_List_swigregister", CSG_Parameter_Grid_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Table_List", _wrap_new_CSG_Parameter_Table_List, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Table_List", _wrap_delete_CSG_Parameter_Table_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_List_Get_Type", _wrap_CSG_Parameter_Table_List_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_List_asTable", _wrap_CSG_Parameter_Table_List_asTable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Table_List_swigregister", CSG_Parameter_Table_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Shapes_List", _wrap_new_CSG_Parameter_Shapes_List, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Shapes_List", _wrap_delete_CSG_Parameter_Shapes_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_List_Get_Type", _wrap_CSG_Parameter_Shapes_List_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_List_Set_Shape_Type", _wrap_CSG_Parameter_Shapes_List_Set_Shape_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_List_Get_Shape_Type", _wrap_CSG_Parameter_Shapes_List_Get_Shape_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_List_asShapes", _wrap_CSG_Parameter_Shapes_List_asShapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Shapes_List_swigregister", CSG_Parameter_Shapes_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_TIN_List", _wrap_new_CSG_Parameter_TIN_List, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_TIN_List", _wrap_delete_CSG_Parameter_TIN_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_List_Get_Type", _wrap_CSG_Parameter_TIN_List_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_List_asTIN", _wrap_CSG_Parameter_TIN_List_asTIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_TIN_List_swigregister", CSG_Parameter_TIN_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_PointCloud_List", _wrap_new_CSG_Parameter_PointCloud_List, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_PointCloud_List", _wrap_delete_CSG_Parameter_PointCloud_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_List_Get_Type", _wrap_CSG_Parameter_PointCloud_List_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_List_asPointCloud", _wrap_CSG_Parameter_PointCloud_List_asPointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_PointCloud_List_swigregister", CSG_Parameter_PointCloud_List_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameter_Parameters", _wrap_new_CSG_Parameter_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameter_Parameters", _wrap_delete_CSG_Parameter_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Parameters_Get_Type", _wrap_CSG_Parameter_Parameters_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Parameters_asString", _wrap_CSG_Parameter_Parameters_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Parameters_asPointer", _wrap_CSG_Parameter_Parameters_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Parameters_swigregister", CSG_Parameter_Parameters_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameters_Grid_Target", _wrap_new_CSG_Parameters_Grid_Target, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Create", _wrap_CSG_Parameters_Grid_Target_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Add_Parameters_User", _wrap_CSG_Parameters_Grid_Target_Add_Parameters_User, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Add_Parameters_Grid", _wrap_CSG_Parameters_Grid_Target_Add_Parameters_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Add_Parameters_System", _wrap_CSG_Parameters_Grid_Target_Add_Parameters_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Add_Grid_Parameter", _wrap_CSG_Parameters_Grid_Target_Add_Grid_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_On_User_Changed", _wrap_CSG_Parameters_Grid_Target_On_User_Changed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Init_User", _wrap_CSG_Parameters_Grid_Target_Init_User, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Get_User", _wrap_CSG_Parameters_Grid_Target_Get_User, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Get_Grid", _wrap_CSG_Parameters_Grid_Target_Get_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Get_System_User", _wrap_CSG_Parameters_Grid_Target_Get_System_User, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_Get_System", _wrap_CSG_Parameters_Grid_Target_Get_System, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameters_Grid_Target", _wrap_delete_CSG_Parameters_Grid_Target, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Grid_Target_swigregister", CSG_Parameters_Grid_Target_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Owner", _wrap_CSG_Parameter_Get_Owner, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Parent", _wrap_CSG_Parameter_Get_Parent, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Type", _wrap_CSG_Parameter_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Type_Identifier", _wrap_CSG_Parameter_Get_Type_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Type_Name", _wrap_CSG_Parameter_Get_Type_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Data", _wrap_CSG_Parameter_Get_Data, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Identifier", _wrap_CSG_Parameter_Get_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Name", _wrap_CSG_Parameter_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Description", _wrap_CSG_Parameter_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Set_Enabled", _wrap_CSG_Parameter_Set_Enabled, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Enabled", _wrap_CSG_Parameter_is_Enabled, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_ignore_Projection", _wrap_CSG_Parameter_ignore_Projection, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Valid", _wrap_CSG_Parameter_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Input", _wrap_CSG_Parameter_is_Input, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Output", _wrap_CSG_Parameter_is_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Optional", _wrap_CSG_Parameter_is_Optional, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Information", _wrap_CSG_Parameter_is_Information, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Option", _wrap_CSG_Parameter_is_Option, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_DataObject", _wrap_CSG_Parameter_is_DataObject, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_DataObject_List", _wrap_CSG_Parameter_is_DataObject_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Parameters", _wrap_CSG_Parameter_is_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_is_Serializable", _wrap_CSG_Parameter_is_Serializable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Children_Count", _wrap_CSG_Parameter_Get_Children_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Get_Child", _wrap_CSG_Parameter_Get_Child, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Set_Value", _wrap_CSG_Parameter_Set_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Set_Default", _wrap_CSG_Parameter_Set_Default, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_has_Changed", _wrap_CSG_Parameter_has_Changed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asBool", _wrap_CSG_Parameter_asBool, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asInt", _wrap_CSG_Parameter_asInt, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asColor", _wrap_CSG_Parameter_asColor, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asDouble", _wrap_CSG_Parameter_asDouble, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asPointer", _wrap_CSG_Parameter_asPointer, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asString", _wrap_CSG_Parameter_asString, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asFont", _wrap_CSG_Parameter_asFont, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asColors", _wrap_CSG_Parameter_asColors, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asGrid_System", _wrap_CSG_Parameter_asGrid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asDataObject", _wrap_CSG_Parameter_asDataObject, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asGrid", _wrap_CSG_Parameter_asGrid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asTable", _wrap_CSG_Parameter_asTable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asShapes", _wrap_CSG_Parameter_asShapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asTIN", _wrap_CSG_Parameter_asTIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asPointCloud", _wrap_CSG_Parameter_asPointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asValue", _wrap_CSG_Parameter_asValue, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asChoice", _wrap_CSG_Parameter_asChoice, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asRange", _wrap_CSG_Parameter_asRange, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asFilePath", _wrap_CSG_Parameter_asFilePath, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asList", _wrap_CSG_Parameter_asList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asGridList", _wrap_CSG_Parameter_asGridList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asTableList", _wrap_CSG_Parameter_asTableList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asShapesList", _wrap_CSG_Parameter_asShapesList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asTINList", _wrap_CSG_Parameter_asTINList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asPointCloudList", _wrap_CSG_Parameter_asPointCloudList, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_asParameters", _wrap_CSG_Parameter_asParameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Assign", _wrap_CSG_Parameter_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_Serialize", _wrap_CSG_Parameter_Serialize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameter_swigregister", CSG_Parameter_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Parameters", _wrap_delete_CSG_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Parameters", _wrap_new_CSG_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Create", _wrap_CSG_Parameters_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Destroy", _wrap_CSG_Parameters_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Owner", _wrap_CSG_Parameters_Get_Owner, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Count", _wrap_CSG_Parameters_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Identifier", _wrap_CSG_Parameters_Set_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Identifier", _wrap_CSG_Parameters_Get_Identifier, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Name", _wrap_CSG_Parameters_Set_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Name", _wrap_CSG_Parameters_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Description", _wrap_CSG_Parameters_Set_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Description", _wrap_CSG_Parameters_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Translation", _wrap_CSG_Parameters_Set_Translation, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Enabled", _wrap_CSG_Parameters_Set_Enabled, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Callback_On_Parameter_Changed", _wrap_CSG_Parameters_Set_Callback_On_Parameter_Changed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Callback", _wrap_CSG_Parameters_Set_Callback, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Del_Parameters", _wrap_CSG_Parameters_Del_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_Parameter", _wrap_CSG_Parameters_Set_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Assign", _wrap_CSG_Parameters_Assign, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Assign_Values", _wrap_CSG_Parameters_Assign_Values, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Serialize", _wrap_CSG_Parameters_Serialize, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Serialize_Compatibility", _wrap_CSG_Parameters_Serialize_Compatibility, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_DataObjects_Check", _wrap_CSG_Parameters_DataObjects_Check, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_String", _wrap_CSG_Parameters_Get_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Msg_String", _wrap_CSG_Parameters_Msg_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Set_History", _wrap_CSG_Parameters_Set_History, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Grid_System", _wrap_CSG_Parameters_Get_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_is_Managed", _wrap_CSG_Parameters_is_Managed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Get_Parameter", _wrap_CSG_Parameters_Get_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters___call__", _wrap_CSG_Parameters___call__, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Del_Parameter", _wrap_CSG_Parameters_Del_Parameter, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Node", _wrap_CSG_Parameters_Add_Node, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Value", _wrap_CSG_Parameters_Add_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Info_Value", _wrap_CSG_Parameters_Add_Info_Value, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Range", _wrap_CSG_Parameters_Add_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Info_Range", _wrap_CSG_Parameters_Add_Info_Range, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Choice", _wrap_CSG_Parameters_Add_Choice, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_String", _wrap_CSG_Parameters_Add_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Info_String", _wrap_CSG_Parameters_Add_Info_String, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_FilePath", _wrap_CSG_Parameters_Add_FilePath, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Font", _wrap_CSG_Parameters_Add_Font, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Colors", _wrap_CSG_Parameters_Add_Colors, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_FixedTable", _wrap_CSG_Parameters_Add_FixedTable, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Grid_System", _wrap_CSG_Parameters_Add_Grid_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Grid", _wrap_CSG_Parameters_Add_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Grid_Output", _wrap_CSG_Parameters_Add_Grid_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Grid_List", _wrap_CSG_Parameters_Add_Grid_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Table_Field", _wrap_CSG_Parameters_Add_Table_Field, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Table", _wrap_CSG_Parameters_Add_Table, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Table_Output", _wrap_CSG_Parameters_Add_Table_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Table_List", _wrap_CSG_Parameters_Add_Table_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Shapes", _wrap_CSG_Parameters_Add_Shapes, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Shapes_Output", _wrap_CSG_Parameters_Add_Shapes_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Shapes_List", _wrap_CSG_Parameters_Add_Shapes_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_TIN", _wrap_CSG_Parameters_Add_TIN, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_TIN_Output", _wrap_CSG_Parameters_Add_TIN_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_TIN_List", _wrap_CSG_Parameters_Add_TIN_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_PointCloud", _wrap_CSG_Parameters_Add_PointCloud, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_PointCloud_Output", _wrap_CSG_Parameters_Add_PointCloud_Output, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_PointCloud_List", _wrap_CSG_Parameters_Add_PointCloud_List, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_Add_Parameters", _wrap_CSG_Parameters_Add_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Parameters_swigregister", CSG_Parameters_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module", _wrap_delete_CSG_Module, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Destroy", _wrap_CSG_Module_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Type", _wrap_CSG_Module_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Name", _wrap_CSG_Module_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Description", _wrap_CSG_Module_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Author", _wrap_CSG_Module_Get_Author, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Icon", _wrap_CSG_Module_Get_Icon, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_MenuPath", _wrap_CSG_Module_Get_MenuPath, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Parameters_Count", _wrap_CSG_Module_Get_Parameters_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Get_Parameters", _wrap_CSG_Module_Get_Parameters, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Garbage_Get_Count", _wrap_CSG_Module_Garbage_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Garbage_Get_Item", _wrap_CSG_Module_Garbage_Get_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Garbage_Del_Item", _wrap_CSG_Module_Garbage_Del_Item, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Garbage_Clear", _wrap_CSG_Module_Garbage_Clear, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_do_Sync_Projections", _wrap_CSG_Module_do_Sync_Projections, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_is_Interactive", _wrap_CSG_Module_is_Interactive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_is_Progress", _wrap_CSG_Module_is_Progress, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_is_Executing", _wrap_CSG_Module_is_Executing, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Set_Translation", _wrap_CSG_Module_Set_Translation, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Set_Managed", _wrap_CSG_Module_Set_Managed, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Set_Show_Progress", _wrap_CSG_Module_Set_Show_Progress, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_On_Before_Execution", _wrap_CSG_Module_On_Before_Execution, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_On_After_Execution", _wrap_CSG_Module_On_After_Execution, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Execute", _wrap_CSG_Module_Execute, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_swigregister", CSG_Module_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Grid", _wrap_delete_CSG_Module_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_Get_Type", _wrap_CSG_Module_Grid_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_Get_System", _wrap_CSG_Module_Grid_Get_System, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_swigregister", CSG_Module_Grid_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Module_Interactive_Base", _wrap_new_CSG_Module_Interactive_Base, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Interactive_Base", _wrap_delete_CSG_Module_Interactive_Base, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Base_Execute_Position", _wrap_CSG_Module_Interactive_Base_Execute_Position, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Base_Execute_Keyboard", _wrap_CSG_Module_Interactive_Base_Execute_Keyboard, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Base_Execute_Finish", _wrap_CSG_Module_Interactive_Base_Execute_Finish, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Base_Get_Drag_Mode", _wrap_CSG_Module_Interactive_Base_Get_Drag_Mode, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Base_swigregister", CSG_Module_Interactive_Base_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Interactive", _wrap_delete_CSG_Module_Interactive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_Get_Type", _wrap_CSG_Module_Interactive_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_is_Interactive", _wrap_CSG_Module_Interactive_is_Interactive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Interactive_swigregister", CSG_Module_Interactive_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Grid_Interactive", _wrap_delete_CSG_Module_Grid_Interactive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_Interactive_Get_Type", _wrap_CSG_Module_Grid_Interactive_Get_Type, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_Interactive_is_Interactive", _wrap_CSG_Module_Grid_Interactive_is_Interactive, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Grid_Interactive_swigregister", CSG_Module_Grid_Interactive_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Module_Library_Interface", _wrap_new_CSG_Module_Library_Interface, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Library_Interface", _wrap_delete_CSG_Module_Library_Interface, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Set_Info", _wrap_CSG_Module_Library_Interface_Set_Info, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Get_Info", _wrap_CSG_Module_Library_Interface_Get_Info, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Get_Count", _wrap_CSG_Module_Library_Interface_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Add_Module", _wrap_CSG_Module_Library_Interface_Add_Module, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Get_Module", _wrap_CSG_Module_Library_Interface_Get_Module, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Set_File_Name", _wrap_CSG_Module_Library_Interface_Set_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Get_File_Name", _wrap_CSG_Module_Library_Interface_Get_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_Get_Translation", _wrap_CSG_Module_Library_Interface_Get_Translation, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Interface_swigregister", CSG_Module_Library_Interface_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"delete_CSG_Module_Library", _wrap_delete_CSG_Module_Library, METH_VARARGS, NULL},
+-	 { (char *)"new_CSG_Module_Library", _wrap_new_CSG_Module_Library, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Create", _wrap_CSG_Module_Library_Create, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Destroy", _wrap_CSG_Module_Library_Destroy, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_is_Valid", _wrap_CSG_Module_Library_is_Valid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_File_Name", _wrap_CSG_Module_Library_Get_File_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Info", _wrap_CSG_Module_Library_Get_Info, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Name", _wrap_CSG_Module_Library_Get_Name, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Description", _wrap_CSG_Module_Library_Get_Description, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Author", _wrap_CSG_Module_Library_Get_Author, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Version", _wrap_CSG_Module_Library_Get_Version, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Summary", _wrap_CSG_Module_Library_Get_Summary, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Count", _wrap_CSG_Module_Library_Get_Count, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Module", _wrap_CSG_Module_Library_Get_Module, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Module_Grid", _wrap_CSG_Module_Library_Get_Module_Grid, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Module_I", _wrap_CSG_Module_Library_Get_Module_I, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Module_Grid_I", _wrap_CSG_Module_Library_Get_Module_Grid_I, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_Get_Menu", _wrap_CSG_Module_Library_Get_Menu, METH_VARARGS, NULL},
+-	 { (char *)"CSG_Module_Library_swigregister", CSG_Module_Library_swigregister, METH_VARARGS, NULL},
+-	 { (char *)"SAGA_API_Get_Version", _wrap_SAGA_API_Get_Version, METH_VARARGS, NULL},
+-	 { NULL, NULL, 0, NULL }
+-};
+-
+-
+-/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+-
+-static void *_p_CSG_Module_Grid_InteractiveTo_p_CSG_Module_Grid(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module_Grid *)  ((CSG_Module_Grid_Interactive *) x));
+-}
+-static void *_p_CSG_Table_Value_BinaryTo_p_CSG_Table_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Value *)  ((CSG_Table_Value_Binary *) x));
+-}
+-static void *_p_CSG_Table_Value_DoubleTo_p_CSG_Table_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Value *)  ((CSG_Table_Value_Double *) x));
+-}
+-static void *_p_CSG_Table_Value_StringTo_p_CSG_Table_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Value *)  ((CSG_Table_Value_String *) x));
+-}
+-static void *_p_CSG_Table_Value_IntTo_p_CSG_Table_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Value *)  ((CSG_Table_Value_Int *) x));
+-}
+-static void *_p_CSG_Table_Value_DateTo_p_CSG_Table_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Value *)  ((CSG_Table_Value_Date *) x));
+-}
+-static void *_p_CSG_Shape_LineTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *)(CSG_Shape_Points *) ((CSG_Shape_Line *) x));
+-}
+-static void *_p_CSG_Shape_PolygonTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *)(CSG_Shape_Points *) ((CSG_Shape_Polygon *) x));
+-}
+-static void *_p_CSG_ShapeTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *)  ((CSG_Shape *) x));
+-}
+-static void *_p_CSG_Shape_PointsTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *) ((CSG_Shape_Points *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *)(CSG_Shape_Point *) ((CSG_Shape_Point_Z *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZMTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *)(CSG_Shape_Point *)(CSG_Shape_Point_Z *) ((CSG_Shape_Point_ZM *) x));
+-}
+-static void *_p_CSG_Shape_PointTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *) (CSG_Shape *) ((CSG_Shape_Point *) x));
+-}
+-static void *_p_CSG_TIN_NodeTo_p_CSG_Table_Record(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table_Record *)  ((CSG_TIN_Node *) x));
+-}
+-static void *_p_CSG_Module_InteractiveTo_p_CSG_Module_Interactive_Base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module_Interactive_Base *)  ((CSG_Module_Interactive *) x));
+-}
+-static void *_p_CSG_Module_Grid_InteractiveTo_p_CSG_Module_Interactive_Base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module_Interactive_Base *)  ((CSG_Module_Grid_Interactive *) x));
+-}
+-static void *_p_CSG_Grid_StackTo_p_CSG_Stack(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Stack *)  ((CSG_Grid_Stack *) x));
+-}
+-static void *_p_CSG_PointCloudTo_p_CSG_Shapes(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shapes *)  ((CSG_PointCloud *) x));
+-}
+-static void *_p_CSG_Parameter_TextTo_p_CSG_Parameter_String(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_String *)  ((CSG_Parameter_Text *) x));
+-}
+-static void *_p_CSG_Parameter_File_NameTo_p_CSG_Parameter_String(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_String *)  ((CSG_Parameter_File_Name *) x));
+-}
+-static void *_p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *) (CSG_Parameter_Int *) ((CSG_Parameter_Choice *) x));
+-}
+-static void *_p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *) (CSG_Parameter_Double *) ((CSG_Parameter_Degree *) x));
+-}
+-static void *_p_CSG_Parameter_IntTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *)  ((CSG_Parameter_Int *) x));
+-}
+-static void *_p_CSG_Parameter_DoubleTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *)  ((CSG_Parameter_Double *) x));
+-}
+-static void *_p_CSG_Parameter_ColorTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *) (CSG_Parameter_Int *) ((CSG_Parameter_Color *) x));
+-}
+-static void *_p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Value(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Value *) (CSG_Parameter_Int *) ((CSG_Parameter_Table_Field *) x));
+-}
+-static void *_p_CSG_Shape_LineTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *) (CSG_Shape_Points *) ((CSG_Shape_Line *) x));
+-}
+-static void *_p_CSG_Shape_PolygonTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *) (CSG_Shape_Points *) ((CSG_Shape_Polygon *) x));
+-}
+-static void *_p_CSG_Shape_PointsTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *)  ((CSG_Shape_Points *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *) (CSG_Shape_Point *) ((CSG_Shape_Point_Z *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZMTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *) (CSG_Shape_Point *)(CSG_Shape_Point_Z *) ((CSG_Shape_Point_ZM *) x));
+-}
+-static void *_p_CSG_Shape_PointTo_p_CSG_Shape(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape *)  ((CSG_Shape_Point *) x));
+-}
+-static void *_p_CSG_Module_InteractiveTo_p_CSG_Module(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module *)  ((CSG_Module_Interactive *) x));
+-}
+-static void *_p_CSG_Module_Grid_InteractiveTo_p_CSG_Module(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module *) (CSG_Module_Grid *) ((CSG_Module_Grid_Interactive *) x));
+-}
+-static void *_p_CSG_Module_GridTo_p_CSG_Module(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Module *)  ((CSG_Module_Grid *) x));
+-}
+-static void *_p_CSG_Shape_Part_ZMTo_p_CSG_Shape_Part_Z(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Part_Z *)  ((CSG_Shape_Part_ZM *) x));
+-}
+-static void *_p_CSG_Shape_Polygon_PartTo_p_CSG_Shape_Part(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Part *)  ((CSG_Shape_Polygon_Part *) x));
+-}
+-static void *_p_CSG_Shape_Part_ZTo_p_CSG_Shape_Part(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Part *)  ((CSG_Shape_Part_Z *) x));
+-}
+-static void *_p_CSG_Shape_Part_ZMTo_p_CSG_Shape_Part(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Part *) (CSG_Shape_Part_Z *) ((CSG_Shape_Part_ZM *) x));
+-}
+-static void *_p_CSG_Parameter_ShapesTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_Shapes *) x));
+-}
+-static void *_p_CSG_Parameter_TINTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_TIN *) x));
+-}
+-static void *_p_CSG_Parameter_Data_Object_OutputTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_Data_Object_Output *) x));
+-}
+-static void *_p_CSG_Parameter_GridTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_Grid *) x));
+-}
+-static void *_p_CSG_Parameter_PointCloudTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_PointCloud *) x));
+-}
+-static void *_p_CSG_Parameter_TableTo_p_CSG_Parameter_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data_Object *)  ((CSG_Parameter_Table *) x));
+-}
+-static void *_p_CSG_ShapesTo_p_CSG_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Data_Object *) (CSG_Table *) ((CSG_Shapes *) x));
+-}
+-static void *_p_CSG_GridTo_p_CSG_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Data_Object *)  ((CSG_Grid *) x));
+-}
+-static void *_p_CSG_PointCloudTo_p_CSG_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Data_Object *) (CSG_Table *)(CSG_Shapes *) ((CSG_PointCloud *) x));
+-}
+-static void *_p_CSG_TINTo_p_CSG_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Data_Object *) (CSG_Table *) ((CSG_TIN *) x));
+-}
+-static void *_p_CSG_TableTo_p_CSG_Data_Object(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Data_Object *)  ((CSG_Table *) x));
+-}
+-static void *_p_CSG_Shape_LineTo_p_CSG_Shape_Points(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Points *)  ((CSG_Shape_Line *) x));
+-}
+-static void *_p_CSG_Shape_PolygonTo_p_CSG_Shape_Points(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Points *)  ((CSG_Shape_Polygon *) x));
+-}
+-static void *_p_CSG_Point_ZTo_p_CSG_Point(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Point *)  ((CSG_Point_Z *) x));
+-}
+-static void *_p_CSG_Point_ZMTo_p_CSG_Point(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Point *) (CSG_Point_Z *) ((CSG_Point_ZM *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZTo_p_CSG_Shape_Point(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Point *)  ((CSG_Shape_Point_Z *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZMTo_p_CSG_Shape_Point(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Point *) (CSG_Shape_Point_Z *) ((CSG_Shape_Point_ZM *) x));
+-}
+-static void *_p_CSG_Parameter_IntTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *) ((CSG_Parameter_Int *) x));
+-}
+-static void *_p_CSG_Parameter_File_NameTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_String *) ((CSG_Parameter_File_Name *) x));
+-}
+-static void *_p_CSG_Parameter_Table_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_List *) ((CSG_Parameter_Table_List *) x));
+-}
+-static void *_p_CSG_Parameter_TIN_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_List *) ((CSG_Parameter_TIN_List *) x));
+-}
+-static void *_p_CSG_Parameter_NodeTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Node *) x));
+-}
+-static void *_p_CSG_Parameter_Grid_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_List *) ((CSG_Parameter_Grid_List *) x));
+-}
+-static void *_p_CSG_Parameter_PointCloud_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_List *) ((CSG_Parameter_PointCloud_List *) x));
+-}
+-static void *_p_CSG_Parameter_ParametersTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Parameters *) x));
+-}
+-static void *_p_CSG_Parameter_ColorsTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Colors *) x));
+-}
+-static void *_p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *)(CSG_Parameter_Int *) ((CSG_Parameter_Table_Field *) x));
+-}
+-static void *_p_CSG_Parameter_StringTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_String *) x));
+-}
+-static void *_p_CSG_Parameter_Fixed_TableTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Fixed_Table *) x));
+-}
+-static void *_p_CSG_Parameter_TableTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_Table *) x));
+-}
+-static void *_p_CSG_Parameter_TextTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_String *) ((CSG_Parameter_Text *) x));
+-}
+-static void *_p_CSG_Parameter_Data_Object_OutputTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_Data_Object_Output *) x));
+-}
+-static void *_p_CSG_Parameter_GridTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_Grid *) x));
+-}
+-static void *_p_CSG_Parameter_ShapesTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_Shapes *) x));
+-}
+-static void *_p_CSG_Parameter_ColorTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *)(CSG_Parameter_Int *) ((CSG_Parameter_Color *) x));
+-}
+-static void *_p_CSG_Parameter_ValueTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Value *) x));
+-}
+-static void *_p_CSG_Parameter_FontTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Font *) x));
+-}
+-static void *_p_CSG_Parameter_Grid_SystemTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Grid_System *) x));
+-}
+-static void *_p_CSG_Parameter_PointCloudTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_PointCloud *) x));
+-}
+-static void *_p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *)(CSG_Parameter_Double *) ((CSG_Parameter_Degree *) x));
+-}
+-static void *_p_CSG_Parameter_TINTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Data_Object *) ((CSG_Parameter_TIN *) x));
+-}
+-static void *_p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *)(CSG_Parameter_Int *) ((CSG_Parameter_Choice *) x));
+-}
+-static void *_p_CSG_Parameter_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_List *) x));
+-}
+-static void *_p_CSG_Parameter_Data_ObjectTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Data_Object *) x));
+-}
+-static void *_p_CSG_Parameter_BoolTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Bool *) x));
+-}
+-static void *_p_CSG_Parameter_RangeTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *)  ((CSG_Parameter_Range *) x));
+-}
+-static void *_p_CSG_Parameter_Shapes_ListTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_List *) ((CSG_Parameter_Shapes_List *) x));
+-}
+-static void *_p_CSG_Parameter_DoubleTo_p_CSG_Parameter_Data(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Data *) (CSG_Parameter_Value *) ((CSG_Parameter_Double *) x));
+-}
+-static void *_p_CSG_ShapesTo_p_CSG_Table(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table *)  ((CSG_Shapes *) x));
+-}
+-static void *_p_CSG_PointCloudTo_p_CSG_Table(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table *) (CSG_Shapes *) ((CSG_PointCloud *) x));
+-}
+-static void *_p_CSG_TINTo_p_CSG_Table(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Table *)  ((CSG_TIN *) x));
+-}
+-static void *_p_CSG_Point_ZMTo_p_CSG_Point_Z(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Point_Z *)  ((CSG_Point_ZM *) x));
+-}
+-static void *_p_CSG_Shape_Point_ZMTo_p_CSG_Shape_Point_Z(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Shape_Point_Z *)  ((CSG_Shape_Point_ZM *) x));
+-}
+-static void *_p_CSG_PRQuadTree_NodeTo_p_CSG_PRQuadTree_Item(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_PRQuadTree_Item *)  ((CSG_PRQuadTree_Node *) x));
+-}
+-static void *_p_CSG_PRQuadTree_LeafTo_p_CSG_PRQuadTree_Item(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_PRQuadTree_Item *)  ((CSG_PRQuadTree_Leaf *) x));
+-}
+-static void *_p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Double(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Double *)  ((CSG_Parameter_Degree *) x));
+-}
+-static void *_p_CSG_Parameter_Table_ListTo_p_CSG_Parameter_List(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_List *)  ((CSG_Parameter_Table_List *) x));
+-}
+-static void *_p_CSG_Parameter_Grid_ListTo_p_CSG_Parameter_List(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_List *)  ((CSG_Parameter_Grid_List *) x));
+-}
+-static void *_p_CSG_Parameter_TIN_ListTo_p_CSG_Parameter_List(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_List *)  ((CSG_Parameter_TIN_List *) x));
+-}
+-static void *_p_CSG_Parameter_PointCloud_ListTo_p_CSG_Parameter_List(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_List *)  ((CSG_Parameter_PointCloud_List *) x));
+-}
+-static void *_p_CSG_Parameter_Shapes_ListTo_p_CSG_Parameter_List(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_List *)  ((CSG_Parameter_Shapes_List *) x));
+-}
+-static void *_p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Int(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Int *)  ((CSG_Parameter_Choice *) x));
+-}
+-static void *_p_CSG_Parameter_ColorTo_p_CSG_Parameter_Int(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Int *)  ((CSG_Parameter_Color *) x));
+-}
+-static void *_p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Int(void *x, int *SWIGUNUSEDPARM(newmemory)) {
+-    return (void *)((CSG_Parameter_Int *)  ((CSG_Parameter_Table_Field *) x));
+-}
+-static swig_type_info _swigt__p_BYTE = {"_p_BYTE", "BYTE *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Array = {"_p_CSG_Array", "CSG_Array *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Buffer = {"_p_CSG_Buffer", "CSG_Buffer *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Bytes = {"_p_CSG_Bytes", "CSG_Bytes *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Bytes_Array = {"_p_CSG_Bytes_Array", "CSG_Bytes_Array *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Class_Statistics = {"_p_CSG_Class_Statistics", "CSG_Class_Statistics *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Cluster_Analysis = {"_p_CSG_Cluster_Analysis", "CSG_Cluster_Analysis *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Colors = {"_p_CSG_Colors", "CSG_Colors *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Data_Object = {"_p_CSG_Data_Object", "CSG_Data_Object *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Distance_Weighting = {"_p_CSG_Distance_Weighting", "CSG_Distance_Weighting *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_File = {"_p_CSG_File", "CSG_File *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Formula = {"_p_CSG_Formula", "CSG_Formula *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Formula_TSG_Formula_Item = {"_p_CSG_Formula_TSG_Formula_Item", "CSG_Formula_TSG_Formula_Item *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid = {"_p_CSG_Grid", "CSG_Grid *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid_Cell_Addressor = {"_p_CSG_Grid_Cell_Addressor", "CSG_Grid_Cell_Addressor *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid_Pyramid = {"_p_CSG_Grid_Pyramid", "CSG_Grid_Pyramid *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid_Radius = {"_p_CSG_Grid_Radius", "CSG_Grid_Radius *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid_Stack = {"_p_CSG_Grid_Stack", "CSG_Grid_Stack *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Grid_System = {"_p_CSG_Grid_System", "CSG_Grid_System *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Index = {"_p_CSG_Index", "CSG_Index *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Matrix = {"_p_CSG_Matrix", "CSG_Matrix *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_MetaData = {"_p_CSG_MetaData", "CSG_MetaData *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module = {"_p_CSG_Module", "CSG_Module *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Grid = {"_p_CSG_Module_Grid", "CSG_Module_Grid *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Grid_Interactive = {"_p_CSG_Module_Grid_Interactive", "CSG_Module_Grid_Interactive *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Interactive = {"_p_CSG_Module_Interactive", "CSG_Module_Interactive *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Interactive_Base = {"_p_CSG_Module_Interactive_Base", "CSG_Module_Interactive_Base *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Library = {"_p_CSG_Module_Library", "CSG_Module_Library *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Module_Library_Interface = {"_p_CSG_Module_Library_Interface", "CSG_Module_Library_Interface *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_PRQuadTree = {"_p_CSG_PRQuadTree", "CSG_PRQuadTree *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_PRQuadTree_Item = {"_p_CSG_PRQuadTree_Item", "CSG_PRQuadTree_Item *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_PRQuadTree_Leaf = {"_p_CSG_PRQuadTree_Leaf", "CSG_PRQuadTree_Leaf *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_PRQuadTree_Node = {"_p_CSG_PRQuadTree_Node", "CSG_PRQuadTree_Node *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter = {"_p_CSG_Parameter", "CSG_Parameter *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Bool = {"_p_CSG_Parameter_Bool", "CSG_Parameter_Bool *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Choice = {"_p_CSG_Parameter_Choice", "CSG_Parameter_Choice *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Color = {"_p_CSG_Parameter_Color", "CSG_Parameter_Color *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Colors = {"_p_CSG_Parameter_Colors", "CSG_Parameter_Colors *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Data = {"_p_CSG_Parameter_Data", "CSG_Parameter_Data *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Data_Object = {"_p_CSG_Parameter_Data_Object", "CSG_Parameter_Data_Object *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Data_Object_Output = {"_p_CSG_Parameter_Data_Object_Output", "CSG_Parameter_Data_Object_Output *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Degree = {"_p_CSG_Parameter_Degree", "CSG_Parameter_Degree *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Double = {"_p_CSG_Parameter_Double", "CSG_Parameter_Double *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_File_Name = {"_p_CSG_Parameter_File_Name", "CSG_Parameter_File_Name *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Fixed_Table = {"_p_CSG_Parameter_Fixed_Table", "CSG_Parameter_Fixed_Table *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Font = {"_p_CSG_Parameter_Font", "CSG_Parameter_Font *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Grid = {"_p_CSG_Parameter_Grid", "CSG_Parameter_Grid *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Grid_List = {"_p_CSG_Parameter_Grid_List", "CSG_Parameter_Grid_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Grid_System = {"_p_CSG_Parameter_Grid_System", "CSG_Parameter_Grid_System *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Int = {"_p_CSG_Parameter_Int", "CSG_Parameter_Int *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_List = {"_p_CSG_Parameter_List", "CSG_Parameter_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Node = {"_p_CSG_Parameter_Node", "CSG_Parameter_Node *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Parameters = {"_p_CSG_Parameter_Parameters", "CSG_Parameter_Parameters *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_PointCloud = {"_p_CSG_Parameter_PointCloud", "CSG_Parameter_PointCloud *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_PointCloud_List = {"_p_CSG_Parameter_PointCloud_List", "CSG_Parameter_PointCloud_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Range = {"_p_CSG_Parameter_Range", "CSG_Parameter_Range *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Shapes = {"_p_CSG_Parameter_Shapes", "CSG_Parameter_Shapes *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Shapes_List = {"_p_CSG_Parameter_Shapes_List", "CSG_Parameter_Shapes_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_String = {"_p_CSG_Parameter_String", "CSG_Parameter_String *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_TIN = {"_p_CSG_Parameter_TIN", "CSG_Parameter_TIN *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_TIN_List = {"_p_CSG_Parameter_TIN_List", "CSG_Parameter_TIN_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Table = {"_p_CSG_Parameter_Table", "CSG_Parameter_Table *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Table_Field = {"_p_CSG_Parameter_Table_Field", "CSG_Parameter_Table_Field *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Table_List = {"_p_CSG_Parameter_Table_List", "CSG_Parameter_Table_List *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Text = {"_p_CSG_Parameter_Text", "CSG_Parameter_Text *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameter_Value = {"_p_CSG_Parameter_Value", "CSG_Parameter_Value *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameters = {"_p_CSG_Parameters", "CSG_Parameters *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Parameters_Grid_Target = {"_p_CSG_Parameters_Grid_Target", "CSG_Parameters_Grid_Target *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Point = {"_p_CSG_Point", "CSG_Point *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_PointCloud = {"_p_CSG_PointCloud", "CSG_PointCloud *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Point_Z = {"_p_CSG_Point_Z", "CSG_Point_Z *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Point_ZM = {"_p_CSG_Point_ZM", "CSG_Point_ZM *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Points = {"_p_CSG_Points", "CSG_Points *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Points_Int = {"_p_CSG_Points_Int", "CSG_Points_Int *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Points_Z = {"_p_CSG_Points_Z", "CSG_Points_Z *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Projection = {"_p_CSG_Projection", "CSG_Projection *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Projections = {"_p_CSG_Projections", "CSG_Projections *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Rect = {"_p_CSG_Rect", "CSG_Rect *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Rects = {"_p_CSG_Rects", "CSG_Rects *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Regression = {"_p_CSG_Regression", "CSG_Regression *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Regression_Multiple = {"_p_CSG_Regression_Multiple", "CSG_Regression_Multiple *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape = {"_p_CSG_Shape", "CSG_Shape *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Line = {"_p_CSG_Shape_Line", "CSG_Shape_Line *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Part = {"_p_CSG_Shape_Part", "CSG_Shape_Part *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Part_Z = {"_p_CSG_Shape_Part_Z", "CSG_Shape_Part_Z *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Part_ZM = {"_p_CSG_Shape_Part_ZM", "CSG_Shape_Part_ZM *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Point = {"_p_CSG_Shape_Point", "CSG_Shape_Point *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Point_Z = {"_p_CSG_Shape_Point_Z", "CSG_Shape_Point_Z *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Point_ZM = {"_p_CSG_Shape_Point_ZM", "CSG_Shape_Point_ZM *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Points = {"_p_CSG_Shape_Points", "CSG_Shape_Points *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Polygon = {"_p_CSG_Shape_Polygon", "CSG_Shape_Polygon *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shape_Polygon_Part = {"_p_CSG_Shape_Polygon_Part", "CSG_Shape_Polygon_Part *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shapes = {"_p_CSG_Shapes", "CSG_Shapes *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shapes_OGIS_Converter = {"_p_CSG_Shapes_OGIS_Converter", "CSG_Shapes_OGIS_Converter *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Shapes_Search = {"_p_CSG_Shapes_Search", "CSG_Shapes_Search *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Simple_Statistics = {"_p_CSG_Simple_Statistics", "CSG_Simple_Statistics *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Spline = {"_p_CSG_Spline", "CSG_Spline *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Stack = {"_p_CSG_Stack", "CSG_Stack *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_String = {"_p_CSG_String", "CSG_String *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Strings = {"_p_CSG_Strings", "CSG_Strings *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_TIN = {"_p_CSG_TIN", "CSG_TIN *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_TIN_Edge = {"_p_CSG_TIN_Edge", "CSG_TIN_Edge *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_TIN_Node = {"_p_CSG_TIN_Node", "CSG_TIN_Node *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_TIN_Triangle = {"_p_CSG_TIN_Triangle", "CSG_TIN_Triangle *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table = {"_p_CSG_Table", "CSG_Table *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Record = {"_p_CSG_Table_Record", "CSG_Table_Record *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value = {"_p_CSG_Table_Value", "CSG_Table_Value *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value_Binary = {"_p_CSG_Table_Value_Binary", "CSG_Table_Value_Binary *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value_Date = {"_p_CSG_Table_Value_Date", "CSG_Table_Value_Date *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value_Double = {"_p_CSG_Table_Value_Double", "CSG_Table_Value_Double *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value_Int = {"_p_CSG_Table_Value_Int", "CSG_Table_Value_Int *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Table_Value_String = {"_p_CSG_Table_Value_String", "CSG_Table_Value_String *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Thin_Plate_Spline = {"_p_CSG_Thin_Plate_Spline", "CSG_Thin_Plate_Spline *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Translator = {"_p_CSG_Translator", "CSG_Translator *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Trend = {"_p_CSG_Trend", "CSG_Trend *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_UI_Parameter = {"_p_CSG_UI_Parameter", "CSG_UI_Parameter *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_CSG_Vector = {"_p_CSG_Vector", "CSG_Vector *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_DWORD = {"_p_DWORD", "DWORD *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Array_Growth = {"_p_ESG_Array_Growth", "enum ESG_Array_Growth *|TSG_Array_Growth *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Data_Object_Type = {"_p_ESG_Data_Object_Type", "enum ESG_Data_Object_Type *|TSG_Data_Object_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Data_Type = {"_p_ESG_Data_Type", "enum ESG_Data_Type *|TSG_Data_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Distance_Weighting = {"_p_ESG_Distance_Weighting", "enum ESG_Distance_Weighting *|TSG_Distance_Weighting *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_File_Format = {"_p_ESG_Grid_File_Format", "enum ESG_Grid_File_Format *|TSG_Grid_File_Format *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_File_Key = {"_p_ESG_Grid_File_Key", "enum ESG_Grid_File_Key *|TSG_Grid_File_Key *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_Interpolation = {"_p_ESG_Grid_Interpolation", "enum ESG_Grid_Interpolation *|TSG_Grid_Interpolation *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_Memory_Type = {"_p_ESG_Grid_Memory_Type", "enum ESG_Grid_Memory_Type *|TSG_Grid_Memory_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_Operation = {"_p_ESG_Grid_Operation", "enum ESG_Grid_Operation *|TSG_Grid_Operation *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_Pyramid_Generalisation = {"_p_ESG_Grid_Pyramid_Generalisation", "enum ESG_Grid_Pyramid_Generalisation *|TSG_Grid_Pyramid_Generalisation *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Grid_Pyramid_Grow_Type = {"_p_ESG_Grid_Pyramid_Grow_Type", "enum ESG_Grid_Pyramid_Grow_Type *|TSG_Grid_Pyramid_Grow_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Intersection = {"_p_ESG_Intersection", "enum ESG_Intersection *|TSG_Intersection *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_MLB_Info = {"_p_ESG_MLB_Info", "enum ESG_MLB_Info *|TSG_MLB_Info *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Module_Error = {"_p_ESG_Module_Error", "enum ESG_Module_Error *|TSG_Module_Error *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Module_Interactive_DragMode = {"_p_ESG_Module_Interactive_DragMode", "enum ESG_Module_Interactive_DragMode *|TSG_Module_Interactive_DragMode *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Module_Interactive_Mode = {"_p_ESG_Module_Interactive_Mode", "enum ESG_Module_Interactive_Mode *|TSG_Module_Interactive_Mode *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Module_Type = {"_p_ESG_Module_Type", "enum ESG_Module_Type *|TSG_Module_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Parameter_Type = {"_p_ESG_Parameter_Type", "enum ESG_Parameter_Type *|TSG_Parameter_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Point_Type = {"_p_ESG_Point_Type", "enum ESG_Point_Type *|TSG_Point_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Projection_Format = {"_p_ESG_Projection_Format", "enum ESG_Projection_Format *|TSG_Projection_Format *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Projection_Type = {"_p_ESG_Projection_Type", "enum ESG_Projection_Type *|TSG_Projection_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Regression_Type = {"_p_ESG_Regression_Type", "enum ESG_Regression_Type *|TSG_Regression_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Shape_Copy_Mode = {"_p_ESG_Shape_Copy_Mode", "enum ESG_Shape_Copy_Mode *|TSG_ADD_Shape_Copy_Mode *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Shape_Type = {"_p_ESG_Shape_Type", "enum ESG_Shape_Type *|TSG_Shape_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Table_FileType = {"_p_ESG_Table_FileType", "enum ESG_Table_FileType *|TSG_Table_File_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Table_Index_Order = {"_p_ESG_Table_Index_Order", "enum ESG_Table_Index_Order *|TSG_Table_Index_Order *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_UI_Callback_ID = {"_p_ESG_UI_Callback_ID", "enum ESG_UI_Callback_ID *|TSG_UI_Callback_ID *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_UI_DataObject_Update = {"_p_ESG_UI_DataObject_Update", "enum ESG_UI_DataObject_Update *|TSG_UI_DataObject_Update *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_UI_MSG_STYLE = {"_p_ESG_UI_MSG_STYLE", "enum ESG_UI_MSG_STYLE *|TSG_UI_MSG_STYLE *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_ESG_Vertex_Type = {"_p_ESG_Vertex_Type", "enum ESG_Vertex_Type *|TSG_Vertex_Type *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_SSG_Point = {"_p_SSG_Point", "SSG_Point *|TSG_Point *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_SSG_Point_Int = {"_p_SSG_Point_Int", "SSG_Point_Int *|TSG_Point_Int *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_SSG_Point_Z = {"_p_SSG_Point_Z", "SSG_Point_Z *|TSG_Point_Z *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_SSG_Point_ZM = {"_p_SSG_Point_ZM", "SSG_Point_ZM *|TSG_Point_ZM *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_SSG_Rect = {"_p_SSG_Rect", "SSG_Rect *|TSG_Rect *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_WORD = {"_p_WORD", "WORD *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_a_32__wchar_t = {"_p_a_32__wchar_t", "wchar_t (*)[32]", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_double__double = {"_p_f_double__double", "TSG_PFNC_Formula_1|double (*)(double)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int = {"_p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int", "int (*)(enum ESG_UI_Callback_ID,CSG_UI_Parameter &,CSG_UI_Parameter &)|TSG_PFNC_UI_Callback", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_p_CSG_Parameter__int = {"_p_f_p_CSG_Parameter__int", "int (*)(CSG_Parameter *)|TSG_PFNC_Parameter_Changed", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_q_const__int_q_const__int__int = {"_p_f_q_const__int_q_const__int__int", "int (*)(int const,int const)|TSG_PFNC_Compare", 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_long = {"_p_long", "long *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_p_double = {"_p_p_double", "double **", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_p_void = {"_p_p_void", "void **", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_p_wchar_t = {"_p_p_wchar_t", "wchar_t **", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "wchar_t *", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_wxFont = {"_p_wxFont", "wxFont *", 0, 0, (void*)0, 0};
+-
+-static swig_type_info *swig_type_initial[] = {
+-  &_swigt__p_BYTE,
+-  &_swigt__p_CSG_Array,
+-  &_swigt__p_CSG_Buffer,
+-  &_swigt__p_CSG_Bytes,
+-  &_swigt__p_CSG_Bytes_Array,
+-  &_swigt__p_CSG_Class_Statistics,
+-  &_swigt__p_CSG_Cluster_Analysis,
+-  &_swigt__p_CSG_Colors,
+-  &_swigt__p_CSG_Data_Object,
+-  &_swigt__p_CSG_Distance_Weighting,
+-  &_swigt__p_CSG_File,
+-  &_swigt__p_CSG_Formula,
+-  &_swigt__p_CSG_Formula_TSG_Formula_Item,
+-  &_swigt__p_CSG_Grid,
+-  &_swigt__p_CSG_Grid_Cell_Addressor,
+-  &_swigt__p_CSG_Grid_Pyramid,
+-  &_swigt__p_CSG_Grid_Radius,
+-  &_swigt__p_CSG_Grid_Stack,
+-  &_swigt__p_CSG_Grid_System,
+-  &_swigt__p_CSG_Index,
+-  &_swigt__p_CSG_Matrix,
+-  &_swigt__p_CSG_MetaData,
+-  &_swigt__p_CSG_Module,
+-  &_swigt__p_CSG_Module_Grid,
+-  &_swigt__p_CSG_Module_Grid_Interactive,
+-  &_swigt__p_CSG_Module_Interactive,
+-  &_swigt__p_CSG_Module_Interactive_Base,
+-  &_swigt__p_CSG_Module_Library,
+-  &_swigt__p_CSG_Module_Library_Interface,
+-  &_swigt__p_CSG_PRQuadTree,
+-  &_swigt__p_CSG_PRQuadTree_Item,
+-  &_swigt__p_CSG_PRQuadTree_Leaf,
+-  &_swigt__p_CSG_PRQuadTree_Node,
+-  &_swigt__p_CSG_Parameter,
+-  &_swigt__p_CSG_Parameter_Bool,
+-  &_swigt__p_CSG_Parameter_Choice,
+-  &_swigt__p_CSG_Parameter_Color,
+-  &_swigt__p_CSG_Parameter_Colors,
+-  &_swigt__p_CSG_Parameter_Data,
+-  &_swigt__p_CSG_Parameter_Data_Object,
+-  &_swigt__p_CSG_Parameter_Data_Object_Output,
+-  &_swigt__p_CSG_Parameter_Degree,
+-  &_swigt__p_CSG_Parameter_Double,
+-  &_swigt__p_CSG_Parameter_File_Name,
+-  &_swigt__p_CSG_Parameter_Fixed_Table,
+-  &_swigt__p_CSG_Parameter_Font,
+-  &_swigt__p_CSG_Parameter_Grid,
+-  &_swigt__p_CSG_Parameter_Grid_List,
+-  &_swigt__p_CSG_Parameter_Grid_System,
+-  &_swigt__p_CSG_Parameter_Int,
+-  &_swigt__p_CSG_Parameter_List,
+-  &_swigt__p_CSG_Parameter_Node,
+-  &_swigt__p_CSG_Parameter_Parameters,
+-  &_swigt__p_CSG_Parameter_PointCloud,
+-  &_swigt__p_CSG_Parameter_PointCloud_List,
+-  &_swigt__p_CSG_Parameter_Range,
+-  &_swigt__p_CSG_Parameter_Shapes,
+-  &_swigt__p_CSG_Parameter_Shapes_List,
+-  &_swigt__p_CSG_Parameter_String,
+-  &_swigt__p_CSG_Parameter_TIN,
+-  &_swigt__p_CSG_Parameter_TIN_List,
+-  &_swigt__p_CSG_Parameter_Table,
+-  &_swigt__p_CSG_Parameter_Table_Field,
+-  &_swigt__p_CSG_Parameter_Table_List,
+-  &_swigt__p_CSG_Parameter_Text,
+-  &_swigt__p_CSG_Parameter_Value,
+-  &_swigt__p_CSG_Parameters,
+-  &_swigt__p_CSG_Parameters_Grid_Target,
+-  &_swigt__p_CSG_Point,
+-  &_swigt__p_CSG_PointCloud,
+-  &_swigt__p_CSG_Point_Z,
+-  &_swigt__p_CSG_Point_ZM,
+-  &_swigt__p_CSG_Points,
+-  &_swigt__p_CSG_Points_Int,
+-  &_swigt__p_CSG_Points_Z,
+-  &_swigt__p_CSG_Projection,
+-  &_swigt__p_CSG_Projections,
+-  &_swigt__p_CSG_Rect,
+-  &_swigt__p_CSG_Rects,
+-  &_swigt__p_CSG_Regression,
+-  &_swigt__p_CSG_Regression_Multiple,
+-  &_swigt__p_CSG_Shape,
+-  &_swigt__p_CSG_Shape_Line,
+-  &_swigt__p_CSG_Shape_Part,
+-  &_swigt__p_CSG_Shape_Part_Z,
+-  &_swigt__p_CSG_Shape_Part_ZM,
+-  &_swigt__p_CSG_Shape_Point,
+-  &_swigt__p_CSG_Shape_Point_Z,
+-  &_swigt__p_CSG_Shape_Point_ZM,
+-  &_swigt__p_CSG_Shape_Points,
+-  &_swigt__p_CSG_Shape_Polygon,
+-  &_swigt__p_CSG_Shape_Polygon_Part,
+-  &_swigt__p_CSG_Shapes,
+-  &_swigt__p_CSG_Shapes_OGIS_Converter,
+-  &_swigt__p_CSG_Shapes_Search,
+-  &_swigt__p_CSG_Simple_Statistics,
+-  &_swigt__p_CSG_Spline,
+-  &_swigt__p_CSG_Stack,
+-  &_swigt__p_CSG_String,
+-  &_swigt__p_CSG_Strings,
+-  &_swigt__p_CSG_TIN,
+-  &_swigt__p_CSG_TIN_Edge,
+-  &_swigt__p_CSG_TIN_Node,
+-  &_swigt__p_CSG_TIN_Triangle,
+-  &_swigt__p_CSG_Table,
+-  &_swigt__p_CSG_Table_Record,
+-  &_swigt__p_CSG_Table_Value,
+-  &_swigt__p_CSG_Table_Value_Binary,
+-  &_swigt__p_CSG_Table_Value_Date,
+-  &_swigt__p_CSG_Table_Value_Double,
+-  &_swigt__p_CSG_Table_Value_Int,
+-  &_swigt__p_CSG_Table_Value_String,
+-  &_swigt__p_CSG_Thin_Plate_Spline,
+-  &_swigt__p_CSG_Translator,
+-  &_swigt__p_CSG_Trend,
+-  &_swigt__p_CSG_UI_Parameter,
+-  &_swigt__p_CSG_Vector,
+-  &_swigt__p_DWORD,
+-  &_swigt__p_ESG_Array_Growth,
+-  &_swigt__p_ESG_Data_Object_Type,
+-  &_swigt__p_ESG_Data_Type,
+-  &_swigt__p_ESG_Distance_Weighting,
+-  &_swigt__p_ESG_Grid_File_Format,
+-  &_swigt__p_ESG_Grid_File_Key,
+-  &_swigt__p_ESG_Grid_Interpolation,
+-  &_swigt__p_ESG_Grid_Memory_Type,
+-  &_swigt__p_ESG_Grid_Operation,
+-  &_swigt__p_ESG_Grid_Pyramid_Generalisation,
+-  &_swigt__p_ESG_Grid_Pyramid_Grow_Type,
+-  &_swigt__p_ESG_Intersection,
+-  &_swigt__p_ESG_MLB_Info,
+-  &_swigt__p_ESG_Module_Error,
+-  &_swigt__p_ESG_Module_Interactive_DragMode,
+-  &_swigt__p_ESG_Module_Interactive_Mode,
+-  &_swigt__p_ESG_Module_Type,
+-  &_swigt__p_ESG_Parameter_Type,
+-  &_swigt__p_ESG_Point_Type,
+-  &_swigt__p_ESG_Projection_Format,
+-  &_swigt__p_ESG_Projection_Type,
+-  &_swigt__p_ESG_Regression_Type,
+-  &_swigt__p_ESG_Shape_Copy_Mode,
+-  &_swigt__p_ESG_Shape_Type,
+-  &_swigt__p_ESG_Table_FileType,
+-  &_swigt__p_ESG_Table_Index_Order,
+-  &_swigt__p_ESG_UI_Callback_ID,
+-  &_swigt__p_ESG_UI_DataObject_Update,
+-  &_swigt__p_ESG_UI_MSG_STYLE,
+-  &_swigt__p_ESG_Vertex_Type,
+-  &_swigt__p_FILE,
+-  &_swigt__p_SSG_Point,
+-  &_swigt__p_SSG_Point_Int,
+-  &_swigt__p_SSG_Point_Z,
+-  &_swigt__p_SSG_Point_ZM,
+-  &_swigt__p_SSG_Rect,
+-  &_swigt__p_WORD,
+-  &_swigt__p_a_32__wchar_t,
+-  &_swigt__p_char,
+-  &_swigt__p_double,
+-  &_swigt__p_f_double__double,
+-  &_swigt__p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int,
+-  &_swigt__p_f_p_CSG_Parameter__int,
+-  &_swigt__p_f_q_const__int_q_const__int__int,
+-  &_swigt__p_int,
+-  &_swigt__p_long,
+-  &_swigt__p_p_double,
+-  &_swigt__p_p_void,
+-  &_swigt__p_p_wchar_t,
+-  &_swigt__p_void,
+-  &_swigt__p_wchar_t,
+-  &_swigt__p_wxFont,
+-};
+-
+-static swig_cast_info _swigc__p_BYTE[] = {  {&_swigt__p_BYTE, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Array[] = {  {&_swigt__p_CSG_Array, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Buffer[] = {  {&_swigt__p_CSG_Buffer, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Bytes[] = {  {&_swigt__p_CSG_Bytes, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Bytes_Array[] = {  {&_swigt__p_CSG_Bytes_Array, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Class_Statistics[] = {  {&_swigt__p_CSG_Class_Statistics, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Cluster_Analysis[] = {  {&_swigt__p_CSG_Cluster_Analysis, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Colors[] = {  {&_swigt__p_CSG_Colors, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Data_Object[] = {  {&_swigt__p_CSG_Shapes, _p_CSG_ShapesTo_p_CSG_Data_Object, 0, 0},  {&_swigt__p_CSG_PointCloud, _p_CSG_PointCloudTo_p_CSG_Data_Object, 0, 0},  {&_swigt__p_CSG_Grid, _p_CSG_GridTo_p_CSG_Data_Object, 0, 0},  {&_swigt__p_CSG_Data_Object, 0, 0, 0},  {&_swigt__p_CSG_TIN, _p_CSG_TINTo_p_CSG_Data_Object, 0, 0},  {&_swigt__p_CSG_Table, _p_CSG_TableTo_p_CSG_Data_Object, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Distance_Weighting[] = {  {&_swigt__p_CSG_Distance_Weighting, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_File[] = {  {&_swigt__p_CSG_File, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Formula[] = {  {&_swigt__p_CSG_Formula, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Formula_TSG_Formula_Item[] = {  {&_swigt__p_CSG_Formula_TSG_Formula_Item, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid[] = {  {&_swigt__p_CSG_Grid, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid_Cell_Addressor[] = {  {&_swigt__p_CSG_Grid_Cell_Addressor, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid_Pyramid[] = {  {&_swigt__p_CSG_Grid_Pyramid, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid_Radius[] = {  {&_swigt__p_CSG_Grid_Radius, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid_Stack[] = {  {&_swigt__p_CSG_Grid_Stack, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Grid_System[] = {  {&_swigt__p_CSG_Grid_System, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Index[] = {  {&_swigt__p_CSG_Index, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Matrix[] = {  {&_swigt__p_CSG_Matrix, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_MetaData[] = {  {&_swigt__p_CSG_MetaData, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module[] = {  {&_swigt__p_CSG_Module, 0, 0, 0},  {&_swigt__p_CSG_Module_Interactive, _p_CSG_Module_InteractiveTo_p_CSG_Module, 0, 0},  {&_swigt__p_CSG_Module_Grid_Interactive, _p_CSG_Module_Grid_InteractiveTo_p_CSG_Module, 0, 0},  {&_swigt__p_CSG_Module_Grid, _p_CSG_Module_GridTo_p_CSG_Module, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Grid[] = {  {&_swigt__p_CSG_Module_Grid_Interactive, _p_CSG_Module_Grid_InteractiveTo_p_CSG_Module_Grid, 0, 0},  {&_swigt__p_CSG_Module_Grid, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Grid_Interactive[] = {  {&_swigt__p_CSG_Module_Grid_Interactive, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Interactive[] = {  {&_swigt__p_CSG_Module_Interactive, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Interactive_Base[] = {  {&_swigt__p_CSG_Module_Interactive_Base, 0, 0, 0},  {&_swigt__p_CSG_Module_Interactive, _p_CSG_Module_InteractiveTo_p_CSG_Module_Interactive_Base, 0, 0},  {&_swigt__p_CSG_Module_Grid_Interactive, _p_CSG_Module_Grid_InteractiveTo_p_CSG_Module_Interactive_Base, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Library[] = {  {&_swigt__p_CSG_Module_Library, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Module_Library_Interface[] = {  {&_swigt__p_CSG_Module_Library_Interface, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_PRQuadTree[] = {  {&_swigt__p_CSG_PRQuadTree, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_PRQuadTree_Item[] = {  {&_swigt__p_CSG_PRQuadTree_Node, _p_CSG_PRQuadTree_NodeTo_p_CSG_PRQuadTree_Item, 0, 0},  {&_swigt__p_CSG_PRQuadTree_Leaf, _p_CSG_PRQuadTree_LeafTo_p_CSG_PRQuadTree_Item, 0, 0},  {&_swigt__p_CSG_PRQuadTree_Item, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_PRQuadTree_Leaf[] = {  {&_swigt__p_CSG_PRQuadTree_Leaf, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_PRQuadTree_Node[] = {  {&_swigt__p_CSG_PRQuadTree_Node, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter[] = {  {&_swigt__p_CSG_Parameter, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Bool[] = {  {&_swigt__p_CSG_Parameter_Bool, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Choice[] = {  {&_swigt__p_CSG_Parameter_Choice, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Color[] = {  {&_swigt__p_CSG_Parameter_Color, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Colors[] = {  {&_swigt__p_CSG_Parameter_Colors, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Data[] = {  {&_swigt__p_CSG_Parameter_Int, _p_CSG_Parameter_IntTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_File_Name, _p_CSG_Parameter_File_NameTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Table_List, _p_CSG_Parameter_Table_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_TIN_List, _p_CSG_Parameter_TIN_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Node, _p_CSG_Parameter_NodeTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Grid_List, _p_CSG_Parameter_Grid_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_PointCloud_List, _p_CSG_Parameter_PointCloud_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Parameters, _p_CSG_Parameter_ParametersTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Colors, _p_CSG_Parameter_ColorsTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Table_Field, _p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Table, _p_CSG_Parameter_TableTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Fixed_Table, _p_CSG_Parameter_Fixed_TableTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_String, _p_CSG_Parameter_StringTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Data, 0, 0, 0},  {&_swigt__p_CSG_Parameter_Text, _p_CSG_Parameter_TextTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Data_Object_Output, _p_CSG_Parameter_Data_Object_OutputTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Grid, _p_CSG_Parameter_GridTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Shapes, _p_CSG_Parameter_ShapesTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Color, _p_CSG_Parameter_ColorTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Value, _p_CSG_Parameter_ValueTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Font, _p_CSG_Parameter_FontTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Grid_System, _p_CSG_Parameter_Grid_SystemTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_PointCloud, _p_CSG_Parameter_PointCloudTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Degree, _p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_TIN, _p_CSG_Parameter_TINTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Choice, _p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_List, _p_CSG_Parameter_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Data_Object, _p_CSG_Parameter_Data_ObjectTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Shapes_List, _p_CSG_Parameter_Shapes_ListTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Bool, _p_CSG_Parameter_BoolTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Range, _p_CSG_Parameter_RangeTo_p_CSG_Parameter_Data, 0, 0},  {&_swigt__p_CSG_Parameter_Double, _p_CSG_Parameter_DoubleTo_p_CSG_Parameter_Data, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Data_Object[] = {  {&_swigt__p_CSG_Parameter_Shapes, _p_CSG_Parameter_ShapesTo_p_CSG_Parameter_Data_Object, 0, 0},  {&_swigt__p_CSG_Parameter_TIN, _p_CSG_Parameter_TINTo_p_CSG_Parameter_Data_Object, 0, 0},  {&_swigt__p_CSG_Parameter_Data_Object_Output, _p_CSG_Parameter_Data_Object_OutputTo_p_CSG_Parameter_Data_Object, 0, 0},  {&_swigt__p_CSG_Parameter_Grid, _p_CSG_Parameter_GridTo_p_CSG_Parameter_Data_Object, 0, 0},  {&_swigt__p_CSG_Parameter_PointCloud, _p_CSG_Parameter_PointCloudTo_p_CSG_Parameter_Data_Object, 0, 0},  {&_swigt__p_CSG_Parameter_Data_Object, 0, 0, 0},  {&_swigt__p_CSG_Parameter_Table, _p_CSG_Parameter_TableTo_p_CSG_Parameter_Data_Object, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Data_Object_Output[] = {  {&_swigt__p_CSG_Parameter_Data_Object_Output, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Degree[] = {  {&_swigt__p_CSG_Parameter_Degree, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Double[] = {  {&_swigt__p_CSG_Parameter_Degree, _p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Double, 0, 0},  {&_swigt__p_CSG_Parameter_Double, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_File_Name[] = {  {&_swigt__p_CSG_Parameter_File_Name, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Fixed_Table[] = {  {&_swigt__p_CSG_Parameter_Fixed_Table, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Font[] = {  {&_swigt__p_CSG_Parameter_Font, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Grid[] = {  {&_swigt__p_CSG_Parameter_Grid, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Grid_List[] = {  {&_swigt__p_CSG_Parameter_Grid_List, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Grid_System[] = {  {&_swigt__p_CSG_Parameter_Grid_System, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Int[] = {  {&_swigt__p_CSG_Parameter_Choice, _p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Int, 0, 0},  {&_swigt__p_CSG_Parameter_Int, 0, 0, 0},  {&_swigt__p_CSG_Parameter_Color, _p_CSG_Parameter_ColorTo_p_CSG_Parameter_Int, 0, 0},  {&_swigt__p_CSG_Parameter_Table_Field, _p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Int, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_List[] = {  {&_swigt__p_CSG_Parameter_Table_List, _p_CSG_Parameter_Table_ListTo_p_CSG_Parameter_List, 0, 0},  {&_swigt__p_CSG_Parameter_List, 0, 0, 0},  {&_swigt__p_CSG_Parameter_Grid_List, _p_CSG_Parameter_Grid_ListTo_p_CSG_Parameter_List, 0, 0},  {&_swigt__p_CSG_Parameter_TIN_List, _p_CSG_Parameter_TIN_ListTo_p_CSG_Parameter_List, 0, 0},  {&_swigt__p_CSG_Parameter_PointCloud_List, _p_CSG_Parameter_PointCloud_ListTo_p_CSG_Parameter_List, 0, 0},  {&_swigt__p_CSG_Parameter_Shapes_List, _p_CSG_Parameter_Shapes_ListTo_p_CSG_Parameter_List, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Node[] = {  {&_swigt__p_CSG_Parameter_Node, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Parameters[] = {  {&_swigt__p_CSG_Parameter_Parameters, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_PointCloud[] = {  {&_swigt__p_CSG_Parameter_PointCloud, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_PointCloud_List[] = {  {&_swigt__p_CSG_Parameter_PointCloud_List, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Range[] = {  {&_swigt__p_CSG_Parameter_Range, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Shapes[] = {  {&_swigt__p_CSG_Parameter_Shapes, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Shapes_List[] = {  {&_swigt__p_CSG_Parameter_Shapes_List, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_String[] = {  {&_swigt__p_CSG_Parameter_Text, _p_CSG_Parameter_TextTo_p_CSG_Parameter_String, 0, 0},  {&_swigt__p_CSG_Parameter_File_Name, _p_CSG_Parameter_File_NameTo_p_CSG_Parameter_String, 0, 0},  {&_swigt__p_CSG_Parameter_String, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_TIN[] = {  {&_swigt__p_CSG_Parameter_TIN, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_TIN_List[] = {  {&_swigt__p_CSG_Parameter_TIN_List, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Table[] = {  {&_swigt__p_CSG_Parameter_Table, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Table_Field[] = {  {&_swigt__p_CSG_Parameter_Table_Field, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Table_List[] = {  {&_swigt__p_CSG_Parameter_Table_List, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Text[] = {  {&_swigt__p_CSG_Parameter_Text, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameter_Value[] = {  {&_swigt__p_CSG_Parameter_Value, 0, 0, 0},  {&_swigt__p_CSG_Parameter_Choice, _p_CSG_Parameter_ChoiceTo_p_CSG_Parameter_Value, 0, 0},  {&_swigt__p_CSG_Parameter_Degree, _p_CSG_Parameter_DegreeTo_p_CSG_Parameter_Value, 0, 0},  {&_swigt__p_CSG_Parameter_Int, _p_CSG_Parameter_IntTo_p_CSG_Parameter_Value, 0, 0},  {&_swigt__p_CSG_Parameter_Color, _p_CSG_Parameter_ColorTo_p_CSG_Parameter_Value, 0, 0},  {&_swigt__p_CSG_Parameter_Table_Field, _p_CSG_Parameter_Table_FieldTo_p_CSG_Parameter_Value, 0, 0},  {&_swigt__p_CSG_Parameter_Double, _p_CSG_Parameter_DoubleTo_p_CSG_Parameter_Value, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameters[] = {  {&_swigt__p_CSG_Parameters, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Parameters_Grid_Target[] = {  {&_swigt__p_CSG_Parameters_Grid_Target, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Point[] = {  {&_swigt__p_CSG_Point_Z, _p_CSG_Point_ZTo_p_CSG_Point, 0, 0},  {&_swigt__p_CSG_Point_ZM, _p_CSG_Point_ZMTo_p_CSG_Point, 0, 0},  {&_swigt__p_CSG_Point, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_PointCloud[] = {  {&_swigt__p_CSG_PointCloud, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Point_Z[] = {  {&_swigt__p_CSG_Point_Z, 0, 0, 0},  {&_swigt__p_CSG_Point_ZM, _p_CSG_Point_ZMTo_p_CSG_Point_Z, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Point_ZM[] = {  {&_swigt__p_CSG_Point_ZM, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Points[] = {  {&_swigt__p_CSG_Points, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Points_Int[] = {  {&_swigt__p_CSG_Points_Int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Points_Z[] = {  {&_swigt__p_CSG_Points_Z, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Projection[] = {  {&_swigt__p_CSG_Projection, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Projections[] = {  {&_swigt__p_CSG_Projections, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Rect[] = {  {&_swigt__p_CSG_Rect, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Rects[] = {  {&_swigt__p_CSG_Rects, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Regression[] = {  {&_swigt__p_CSG_Regression, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Regression_Multiple[] = {  {&_swigt__p_CSG_Regression_Multiple, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape[] = {  {&_swigt__p_CSG_Shape_Line, _p_CSG_Shape_LineTo_p_CSG_Shape, 0, 0},  {&_swigt__p_CSG_Shape_Polygon, _p_CSG_Shape_PolygonTo_p_CSG_Shape, 0, 0},  {&_swigt__p_CSG_Shape, 0, 0, 0},  {&_swigt__p_CSG_Shape_Points, _p_CSG_Shape_PointsTo_p_CSG_Shape, 0, 0},  {&_swigt__p_CSG_Shape_Point_Z, _p_CSG_Shape_Point_ZTo_p_CSG_Shape, 0, 0},  {&_swigt__p_CSG_Shape_Point_ZM, _p_CSG_Shape_Point_ZMTo_p_CSG_Shape, 0, 0},  {&_swigt__p_CSG_Shape_Point, _p_CSG_Shape_PointTo_p_CSG_Shape, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Line[] = {  {&_swigt__p_CSG_Shape_Line, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Part[] = {  {&_swigt__p_CSG_Shape_Polygon_Part, _p_CSG_Shape_Polygon_PartTo_p_CSG_Shape_Part, 0, 0},  {&_swigt__p_CSG_Shape_Part, 0, 0, 0},  {&_swigt__p_CSG_Shape_Part_Z, _p_CSG_Shape_Part_ZTo_p_CSG_Shape_Part, 0, 0},  {&_swigt__p_CSG_Shape_Part_ZM, _p_CSG_Shape_Part_ZMTo_p_CSG_Shape_Part, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Part_Z[] = {  {&_swigt__p_CSG_Shape_Part_Z, 0, 0, 0},  {&_swigt__p_CSG_Shape_Part_ZM, _p_CSG_Shape_Part_ZMTo_p_CSG_Shape_Part_Z, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Part_ZM[] = {  {&_swigt__p_CSG_Shape_Part_ZM, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Point[] = {  {&_swigt__p_CSG_Shape_Point_Z, _p_CSG_Shape_Point_ZTo_p_CSG_Shape_Point, 0, 0},  {&_swigt__p_CSG_Shape_Point_ZM, _p_CSG_Shape_Point_ZMTo_p_CSG_Shape_Point, 0, 0},  {&_swigt__p_CSG_Shape_Point, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Point_Z[] = {  {&_swigt__p_CSG_Shape_Point_Z, 0, 0, 0},  {&_swigt__p_CSG_Shape_Point_ZM, _p_CSG_Shape_Point_ZMTo_p_CSG_Shape_Point_Z, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Point_ZM[] = {  {&_swigt__p_CSG_Shape_Point_ZM, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Points[] = {  {&_swigt__p_CSG_Shape_Line, _p_CSG_Shape_LineTo_p_CSG_Shape_Points, 0, 0},  {&_swigt__p_CSG_Shape_Polygon, _p_CSG_Shape_PolygonTo_p_CSG_Shape_Points, 0, 0},  {&_swigt__p_CSG_Shape_Points, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Polygon[] = {  {&_swigt__p_CSG_Shape_Polygon, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shape_Polygon_Part[] = {  {&_swigt__p_CSG_Shape_Polygon_Part, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shapes[] = {  {&_swigt__p_CSG_Shapes, 0, 0, 0},  {&_swigt__p_CSG_PointCloud, _p_CSG_PointCloudTo_p_CSG_Shapes, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shapes_OGIS_Converter[] = {  {&_swigt__p_CSG_Shapes_OGIS_Converter, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Shapes_Search[] = {  {&_swigt__p_CSG_Shapes_Search, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Simple_Statistics[] = {  {&_swigt__p_CSG_Simple_Statistics, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Spline[] = {  {&_swigt__p_CSG_Spline, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Stack[] = {  {&_swigt__p_CSG_Stack, 0, 0, 0},  {&_swigt__p_CSG_Grid_Stack, _p_CSG_Grid_StackTo_p_CSG_Stack, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_String[] = {  {&_swigt__p_CSG_String, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Strings[] = {  {&_swigt__p_CSG_Strings, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_TIN[] = {  {&_swigt__p_CSG_TIN, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_TIN_Edge[] = {  {&_swigt__p_CSG_TIN_Edge, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_TIN_Node[] = {  {&_swigt__p_CSG_TIN_Node, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_TIN_Triangle[] = {  {&_swigt__p_CSG_TIN_Triangle, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table[] = {  {&_swigt__p_CSG_Shapes, _p_CSG_ShapesTo_p_CSG_Table, 0, 0},  {&_swigt__p_CSG_PointCloud, _p_CSG_PointCloudTo_p_CSG_Table, 0, 0},  {&_swigt__p_CSG_TIN, _p_CSG_TINTo_p_CSG_Table, 0, 0},  {&_swigt__p_CSG_Table, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Record[] = {  {&_swigt__p_CSG_Shape_Line, _p_CSG_Shape_LineTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Shape_Polygon, _p_CSG_Shape_PolygonTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Shape, _p_CSG_ShapeTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Table_Record, 0, 0, 0},  {&_swigt__p_CSG_Shape_Points, _p_CSG_Shape_PointsTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Shape_Point_Z, _p_CSG_Shape_Point_ZTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Shape_Point_ZM, _p_CSG_Shape_Point_ZMTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_Shape_Point, _p_CSG_Shape_PointTo_p_CSG_Table_Record, 0, 0},  {&_swigt__p_CSG_TIN_Node, _p_CSG_TIN_NodeTo_p_CSG_Table_Record, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value[] = {  {&_swigt__p_CSG_Table_Value_Binary, _p_CSG_Table_Value_BinaryTo_p_CSG_Table_Value, 0, 0},  {&_swigt__p_CSG_Table_Value_Double, _p_CSG_Table_Value_DoubleTo_p_CSG_Table_Value, 0, 0},  {&_swigt__p_CSG_Table_Value_String, _p_CSG_Table_Value_StringTo_p_CSG_Table_Value, 0, 0},  {&_swigt__p_CSG_Table_Value_Int, _p_CSG_Table_Value_IntTo_p_CSG_Table_Value, 0, 0},  {&_swigt__p_CSG_Table_Value, 0, 0, 0},  {&_swigt__p_CSG_Table_Value_Date, _p_CSG_Table_Value_DateTo_p_CSG_Table_Value, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value_Binary[] = {  {&_swigt__p_CSG_Table_Value_Binary, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value_Date[] = {  {&_swigt__p_CSG_Table_Value_Date, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value_Double[] = {  {&_swigt__p_CSG_Table_Value_Double, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value_Int[] = {  {&_swigt__p_CSG_Table_Value_Int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Table_Value_String[] = {  {&_swigt__p_CSG_Table_Value_String, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Thin_Plate_Spline[] = {  {&_swigt__p_CSG_Thin_Plate_Spline, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Translator[] = {  {&_swigt__p_CSG_Translator, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Trend[] = {  {&_swigt__p_CSG_Trend, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_UI_Parameter[] = {  {&_swigt__p_CSG_UI_Parameter, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_CSG_Vector[] = {  {&_swigt__p_CSG_Vector, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_DWORD[] = {  {&_swigt__p_DWORD, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Array_Growth[] = {  {&_swigt__p_ESG_Array_Growth, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Data_Object_Type[] = {  {&_swigt__p_ESG_Data_Object_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Data_Type[] = {  {&_swigt__p_ESG_Data_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Distance_Weighting[] = {  {&_swigt__p_ESG_Distance_Weighting, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_File_Format[] = {  {&_swigt__p_ESG_Grid_File_Format, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_File_Key[] = {  {&_swigt__p_ESG_Grid_File_Key, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_Interpolation[] = {  {&_swigt__p_ESG_Grid_Interpolation, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_Memory_Type[] = {  {&_swigt__p_ESG_Grid_Memory_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_Operation[] = {  {&_swigt__p_ESG_Grid_Operation, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_Pyramid_Generalisation[] = {  {&_swigt__p_ESG_Grid_Pyramid_Generalisation, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Grid_Pyramid_Grow_Type[] = {  {&_swigt__p_ESG_Grid_Pyramid_Grow_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Intersection[] = {  {&_swigt__p_ESG_Intersection, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_MLB_Info[] = {  {&_swigt__p_ESG_MLB_Info, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Module_Error[] = {  {&_swigt__p_ESG_Module_Error, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Module_Interactive_DragMode[] = {  {&_swigt__p_ESG_Module_Interactive_DragMode, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Module_Interactive_Mode[] = {  {&_swigt__p_ESG_Module_Interactive_Mode, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Module_Type[] = {  {&_swigt__p_ESG_Module_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Parameter_Type[] = {  {&_swigt__p_ESG_Parameter_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Point_Type[] = {  {&_swigt__p_ESG_Point_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Projection_Format[] = {  {&_swigt__p_ESG_Projection_Format, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Projection_Type[] = {  {&_swigt__p_ESG_Projection_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Regression_Type[] = {  {&_swigt__p_ESG_Regression_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Shape_Copy_Mode[] = {  {&_swigt__p_ESG_Shape_Copy_Mode, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Shape_Type[] = {  {&_swigt__p_ESG_Shape_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Table_FileType[] = {  {&_swigt__p_ESG_Table_FileType, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Table_Index_Order[] = {  {&_swigt__p_ESG_Table_Index_Order, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_UI_Callback_ID[] = {  {&_swigt__p_ESG_UI_Callback_ID, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_UI_DataObject_Update[] = {  {&_swigt__p_ESG_UI_DataObject_Update, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_UI_MSG_STYLE[] = {  {&_swigt__p_ESG_UI_MSG_STYLE, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_ESG_Vertex_Type[] = {  {&_swigt__p_ESG_Vertex_Type, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_FILE[] = {  {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_SSG_Point[] = {  {&_swigt__p_SSG_Point, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_SSG_Point_Int[] = {  {&_swigt__p_SSG_Point_Int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_SSG_Point_Z[] = {  {&_swigt__p_SSG_Point_Z, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_SSG_Point_ZM[] = {  {&_swigt__p_SSG_Point_ZM, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_SSG_Rect[] = {  {&_swigt__p_SSG_Rect, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_WORD[] = {  {&_swigt__p_WORD, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_a_32__wchar_t[] = {  {&_swigt__p_a_32__wchar_t, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_double[] = {  {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_double__double[] = {  {&_swigt__p_f_double__double, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int[] = {  {&_swigt__p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_CSG_Parameter__int[] = {  {&_swigt__p_f_p_CSG_Parameter__int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_q_const__int_q_const__int__int[] = {  {&_swigt__p_f_q_const__int_q_const__int__int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_long[] = {  {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_p_double[] = {  {&_swigt__p_p_double, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_p_void[] = {  {&_swigt__p_p_void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_p_wchar_t[] = {  {&_swigt__p_p_wchar_t, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_void[] = {  {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_wchar_t[] = {  {&_swigt__p_wchar_t, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_wxFont[] = {  {&_swigt__p_wxFont, 0, 0, 0},{0, 0, 0, 0}};
+-
+-static swig_cast_info *swig_cast_initial[] = {
+-  _swigc__p_BYTE,
+-  _swigc__p_CSG_Array,
+-  _swigc__p_CSG_Buffer,
+-  _swigc__p_CSG_Bytes,
+-  _swigc__p_CSG_Bytes_Array,
+-  _swigc__p_CSG_Class_Statistics,
+-  _swigc__p_CSG_Cluster_Analysis,
+-  _swigc__p_CSG_Colors,
+-  _swigc__p_CSG_Data_Object,
+-  _swigc__p_CSG_Distance_Weighting,
+-  _swigc__p_CSG_File,
+-  _swigc__p_CSG_Formula,
+-  _swigc__p_CSG_Formula_TSG_Formula_Item,
+-  _swigc__p_CSG_Grid,
+-  _swigc__p_CSG_Grid_Cell_Addressor,
+-  _swigc__p_CSG_Grid_Pyramid,
+-  _swigc__p_CSG_Grid_Radius,
+-  _swigc__p_CSG_Grid_Stack,
+-  _swigc__p_CSG_Grid_System,
+-  _swigc__p_CSG_Index,
+-  _swigc__p_CSG_Matrix,
+-  _swigc__p_CSG_MetaData,
+-  _swigc__p_CSG_Module,
+-  _swigc__p_CSG_Module_Grid,
+-  _swigc__p_CSG_Module_Grid_Interactive,
+-  _swigc__p_CSG_Module_Interactive,
+-  _swigc__p_CSG_Module_Interactive_Base,
+-  _swigc__p_CSG_Module_Library,
+-  _swigc__p_CSG_Module_Library_Interface,
+-  _swigc__p_CSG_PRQuadTree,
+-  _swigc__p_CSG_PRQuadTree_Item,
+-  _swigc__p_CSG_PRQuadTree_Leaf,
+-  _swigc__p_CSG_PRQuadTree_Node,
+-  _swigc__p_CSG_Parameter,
+-  _swigc__p_CSG_Parameter_Bool,
+-  _swigc__p_CSG_Parameter_Choice,
+-  _swigc__p_CSG_Parameter_Color,
+-  _swigc__p_CSG_Parameter_Colors,
+-  _swigc__p_CSG_Parameter_Data,
+-  _swigc__p_CSG_Parameter_Data_Object,
+-  _swigc__p_CSG_Parameter_Data_Object_Output,
+-  _swigc__p_CSG_Parameter_Degree,
+-  _swigc__p_CSG_Parameter_Double,
+-  _swigc__p_CSG_Parameter_File_Name,
+-  _swigc__p_CSG_Parameter_Fixed_Table,
+-  _swigc__p_CSG_Parameter_Font,
+-  _swigc__p_CSG_Parameter_Grid,
+-  _swigc__p_CSG_Parameter_Grid_List,
+-  _swigc__p_CSG_Parameter_Grid_System,
+-  _swigc__p_CSG_Parameter_Int,
+-  _swigc__p_CSG_Parameter_List,
+-  _swigc__p_CSG_Parameter_Node,
+-  _swigc__p_CSG_Parameter_Parameters,
+-  _swigc__p_CSG_Parameter_PointCloud,
+-  _swigc__p_CSG_Parameter_PointCloud_List,
+-  _swigc__p_CSG_Parameter_Range,
+-  _swigc__p_CSG_Parameter_Shapes,
+-  _swigc__p_CSG_Parameter_Shapes_List,
+-  _swigc__p_CSG_Parameter_String,
+-  _swigc__p_CSG_Parameter_TIN,
+-  _swigc__p_CSG_Parameter_TIN_List,
+-  _swigc__p_CSG_Parameter_Table,
+-  _swigc__p_CSG_Parameter_Table_Field,
+-  _swigc__p_CSG_Parameter_Table_List,
+-  _swigc__p_CSG_Parameter_Text,
+-  _swigc__p_CSG_Parameter_Value,
+-  _swigc__p_CSG_Parameters,
+-  _swigc__p_CSG_Parameters_Grid_Target,
+-  _swigc__p_CSG_Point,
+-  _swigc__p_CSG_PointCloud,
+-  _swigc__p_CSG_Point_Z,
+-  _swigc__p_CSG_Point_ZM,
+-  _swigc__p_CSG_Points,
+-  _swigc__p_CSG_Points_Int,
+-  _swigc__p_CSG_Points_Z,
+-  _swigc__p_CSG_Projection,
+-  _swigc__p_CSG_Projections,
+-  _swigc__p_CSG_Rect,
+-  _swigc__p_CSG_Rects,
+-  _swigc__p_CSG_Regression,
+-  _swigc__p_CSG_Regression_Multiple,
+-  _swigc__p_CSG_Shape,
+-  _swigc__p_CSG_Shape_Line,
+-  _swigc__p_CSG_Shape_Part,
+-  _swigc__p_CSG_Shape_Part_Z,
+-  _swigc__p_CSG_Shape_Part_ZM,
+-  _swigc__p_CSG_Shape_Point,
+-  _swigc__p_CSG_Shape_Point_Z,
+-  _swigc__p_CSG_Shape_Point_ZM,
+-  _swigc__p_CSG_Shape_Points,
+-  _swigc__p_CSG_Shape_Polygon,
+-  _swigc__p_CSG_Shape_Polygon_Part,
+-  _swigc__p_CSG_Shapes,
+-  _swigc__p_CSG_Shapes_OGIS_Converter,
+-  _swigc__p_CSG_Shapes_Search,
+-  _swigc__p_CSG_Simple_Statistics,
+-  _swigc__p_CSG_Spline,
+-  _swigc__p_CSG_Stack,
+-  _swigc__p_CSG_String,
+-  _swigc__p_CSG_Strings,
+-  _swigc__p_CSG_TIN,
+-  _swigc__p_CSG_TIN_Edge,
+-  _swigc__p_CSG_TIN_Node,
+-  _swigc__p_CSG_TIN_Triangle,
+-  _swigc__p_CSG_Table,
+-  _swigc__p_CSG_Table_Record,
+-  _swigc__p_CSG_Table_Value,
+-  _swigc__p_CSG_Table_Value_Binary,
+-  _swigc__p_CSG_Table_Value_Date,
+-  _swigc__p_CSG_Table_Value_Double,
+-  _swigc__p_CSG_Table_Value_Int,
+-  _swigc__p_CSG_Table_Value_String,
+-  _swigc__p_CSG_Thin_Plate_Spline,
+-  _swigc__p_CSG_Translator,
+-  _swigc__p_CSG_Trend,
+-  _swigc__p_CSG_UI_Parameter,
+-  _swigc__p_CSG_Vector,
+-  _swigc__p_DWORD,
+-  _swigc__p_ESG_Array_Growth,
+-  _swigc__p_ESG_Data_Object_Type,
+-  _swigc__p_ESG_Data_Type,
+-  _swigc__p_ESG_Distance_Weighting,
+-  _swigc__p_ESG_Grid_File_Format,
+-  _swigc__p_ESG_Grid_File_Key,
+-  _swigc__p_ESG_Grid_Interpolation,
+-  _swigc__p_ESG_Grid_Memory_Type,
+-  _swigc__p_ESG_Grid_Operation,
+-  _swigc__p_ESG_Grid_Pyramid_Generalisation,
+-  _swigc__p_ESG_Grid_Pyramid_Grow_Type,
+-  _swigc__p_ESG_Intersection,
+-  _swigc__p_ESG_MLB_Info,
+-  _swigc__p_ESG_Module_Error,
+-  _swigc__p_ESG_Module_Interactive_DragMode,
+-  _swigc__p_ESG_Module_Interactive_Mode,
+-  _swigc__p_ESG_Module_Type,
+-  _swigc__p_ESG_Parameter_Type,
+-  _swigc__p_ESG_Point_Type,
+-  _swigc__p_ESG_Projection_Format,
+-  _swigc__p_ESG_Projection_Type,
+-  _swigc__p_ESG_Regression_Type,
+-  _swigc__p_ESG_Shape_Copy_Mode,
+-  _swigc__p_ESG_Shape_Type,
+-  _swigc__p_ESG_Table_FileType,
+-  _swigc__p_ESG_Table_Index_Order,
+-  _swigc__p_ESG_UI_Callback_ID,
+-  _swigc__p_ESG_UI_DataObject_Update,
+-  _swigc__p_ESG_UI_MSG_STYLE,
+-  _swigc__p_ESG_Vertex_Type,
+-  _swigc__p_FILE,
+-  _swigc__p_SSG_Point,
+-  _swigc__p_SSG_Point_Int,
+-  _swigc__p_SSG_Point_Z,
+-  _swigc__p_SSG_Point_ZM,
+-  _swigc__p_SSG_Rect,
+-  _swigc__p_WORD,
+-  _swigc__p_a_32__wchar_t,
+-  _swigc__p_char,
+-  _swigc__p_double,
+-  _swigc__p_f_double__double,
+-  _swigc__p_f_enum_ESG_UI_Callback_ID_r_CSG_UI_Parameter_r_CSG_UI_Parameter__int,
+-  _swigc__p_f_p_CSG_Parameter__int,
+-  _swigc__p_f_q_const__int_q_const__int__int,
+-  _swigc__p_int,
+-  _swigc__p_long,
+-  _swigc__p_p_double,
+-  _swigc__p_p_void,
+-  _swigc__p_p_wchar_t,
+-  _swigc__p_void,
+-  _swigc__p_wchar_t,
+-  _swigc__p_wxFont,
+-};
+-
+-
+-/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+-
+-static swig_const_info swig_const_table[] = {
+-{0, 0, 0, 0.0, 0, 0}};
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-/* -----------------------------------------------------------------------------
+- * Type initialization:
+- * This problem is tough by the requirement that no dynamic 
+- * memory is used. Also, since swig_type_info structures store pointers to 
+- * swig_cast_info structures and swig_cast_info structures store pointers back
+- * to swig_type_info structures, we need some lookup code at initialization. 
+- * The idea is that swig generates all the structures that are needed. 
+- * The runtime then collects these partially filled structures. 
+- * The SWIG_InitializeModule function takes these initial arrays out of 
+- * swig_module, and does all the lookup, filling in the swig_module.types
+- * array with the correct data and linking the correct swig_cast_info
+- * structures together.
+- *
+- * The generated swig_type_info structures are assigned staticly to an initial 
+- * array. We just loop through that array, and handle each type individually.
+- * First we lookup if this type has been already loaded, and if so, use the
+- * loaded structure instead of the generated one. Then we have to fill in the
+- * cast linked list. The cast data is initially stored in something like a
+- * two-dimensional array. Each row corresponds to a type (there are the same
+- * number of rows as there are in the swig_type_initial array). Each entry in
+- * a column is one of the swig_cast_info structures for that type.
+- * The cast_initial array is actually an array of arrays, because each row has
+- * a variable number of columns. So to actually build the cast linked list,
+- * we find the array of casts associated with the type, and loop through it 
+- * adding the casts to the list. The one last trick we need to do is making
+- * sure the type pointer in the swig_cast_info struct is correct.
+- *
+- * First off, we lookup the cast->type name to see if it is already loaded. 
+- * There are three cases to handle:
+- *  1) If the cast->type has already been loaded AND the type we are adding
+- *     casting info to has not been loaded (it is in this module), THEN we
+- *     replace the cast->type pointer with the type pointer that has already
+- *     been loaded.
+- *  2) If BOTH types (the one we are adding casting info to, and the 
+- *     cast->type) are loaded, THEN the cast info has already been loaded by
+- *     the previous module so we just ignore it.
+- *  3) Finally, if cast->type has not already been loaded, then we add that
+- *     swig_cast_info to the linked list (because the cast->type) pointer will
+- *     be correct.
+- * ----------------------------------------------------------------------------- */
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#if 0
+-} /* c-mode */
+-#endif
+-#endif
+-
+-#if 0
+-#define SWIGRUNTIME_DEBUG
+-#endif
+-
+-
+-SWIGRUNTIME void
+-SWIG_InitializeModule(void *clientdata) {
+-  size_t i;
+-  swig_module_info *module_head, *iter;
+-  int found, init;
+-  
+-  clientdata = clientdata;
+-  
+-  /* check to see if the circular list has been setup, if not, set it up */
+-  if (swig_module.next==0) {
+-    /* Initialize the swig_module */
+-    swig_module.type_initial = swig_type_initial;
+-    swig_module.cast_initial = swig_cast_initial;
+-    swig_module.next = &swig_module;
+-    init = 1;
+-  } else {
+-    init = 0;
+-  }
+-  
+-  /* Try and load any already created modules */
+-  module_head = SWIG_GetModule(clientdata);
+-  if (!module_head) {
+-    /* This is the first module loaded for this interpreter */
+-    /* so set the swig module into the interpreter */
+-    SWIG_SetModule(clientdata, &swig_module);
+-    module_head = &swig_module;
+-  } else {
+-    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+-    found=0;
+-    iter=module_head;
+-    do {
+-      if (iter==&swig_module) {
+-        found=1;
+-        break;
+-      }
+-      iter=iter->next;
+-    } while (iter!= module_head);
+-    
+-    /* if the is found in the list, then all is done and we may leave */
+-    if (found) return;
+-    /* otherwise we must add out module into the list */
+-    swig_module.next = module_head->next;
+-    module_head->next = &swig_module;
+-  }
+-  
+-  /* When multiple interpeters are used, a module could have already been initialized in
+-       a different interpreter, but not yet have a pointer in this interpreter.
+-       In this case, we do not want to continue adding types... everything should be
+-       set up already */
+-  if (init == 0) return;
+-  
+-  /* Now work on filling in swig_module.types */
+-#ifdef SWIGRUNTIME_DEBUG
+-  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
+-#endif
+-  for (i = 0; i < swig_module.size; ++i) {
+-    swig_type_info *type = 0;
+-    swig_type_info *ret;
+-    swig_cast_info *cast;
+-    
+-#ifdef SWIGRUNTIME_DEBUG
+-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+-#endif
+-    
+-    /* if there is another module already loaded */
+-    if (swig_module.next != &swig_module) {
+-      type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
+-    }
+-    if (type) {
+-      /* Overwrite clientdata field */
+-#ifdef SWIGRUNTIME_DEBUG
+-      printf("SWIG_InitializeModule: found type %s\n", type->name);
+-#endif
+-      if (swig_module.type_initial[i]->clientdata) {
+-        type->clientdata = swig_module.type_initial[i]->clientdata;
+-#ifdef SWIGRUNTIME_DEBUG
+-        printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
+-#endif
+-      }
+-    } else {
+-      type = swig_module.type_initial[i];
+-    }
+-    
+-    /* Insert casting types */
+-    cast = swig_module.cast_initial[i];
+-    while (cast->type) {
+-      /* Don't need to add information already in the list */
+-      ret = 0;
+-#ifdef SWIGRUNTIME_DEBUG
+-      printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
+-#endif
+-      if (swig_module.next != &swig_module) {
+-        ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
+-#ifdef SWIGRUNTIME_DEBUG
+-        if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
+-#endif
+-      }
+-      if (ret) {
+-        if (type == swig_module.type_initial[i]) {
+-#ifdef SWIGRUNTIME_DEBUG
+-          printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
+-#endif
+-          cast->type = ret;
+-          ret = 0;
+-        } else {
+-          /* Check for casting already in the list */
+-          swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
+-#ifdef SWIGRUNTIME_DEBUG
+-          if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
+-#endif
+-          if (!ocast) ret = 0;
+-        }
+-      }
+-      
+-      if (!ret) {
+-#ifdef SWIGRUNTIME_DEBUG
+-        printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
+-#endif
+-        if (type->cast) {
+-          type->cast->prev = cast;
+-          cast->next = type->cast;
+-        }
+-        type->cast = cast;
+-      }
+-      cast++;
+-    }
+-    /* Set entry in modules->types array equal to the type */
+-    swig_module.types[i] = type;
+-  }
+-  swig_module.types[i] = 0;
+-  
+-#ifdef SWIGRUNTIME_DEBUG
+-  printf("**** SWIG_InitializeModule: Cast List ******\n");
+-  for (i = 0; i < swig_module.size; ++i) {
+-    int j = 0;
+-    swig_cast_info *cast = swig_module.cast_initial[i];
+-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+-    while (cast->type) {
+-      printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
+-      cast++;
+-      ++j;
+-    }
+-    printf("---- Total casts: %d\n",j);
+-  }
+-  printf("**** SWIG_InitializeModule: Cast List ******\n");
+-#endif
+-}
+-
+-/* This function will propagate the clientdata field of type to
+-* any new swig_type_info structures that have been added into the list
+-* of equivalent types.  It is like calling
+-* SWIG_TypeClientData(type, clientdata) a second time.
+-*/
+-SWIGRUNTIME void
+-SWIG_PropagateClientData(void) {
+-  size_t i;
+-  swig_cast_info *equiv;
+-  static int init_run = 0;
+-  
+-  if (init_run) return;
+-  init_run = 1;
+-  
+-  for (i = 0; i < swig_module.size; i++) {
+-    if (swig_module.types[i]->clientdata) {
+-      equiv = swig_module.types[i]->cast;
+-      while (equiv) {
+-        if (!equiv->converter) {
+-          if (equiv->type && !equiv->type->clientdata)
+-          SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
+-        }
+-        equiv = equiv->next;
+-      }
+-    }
+-  }
+-}
+-
+-#ifdef __cplusplus
+-#if 0
+-{
+-  /* c-mode */
+-#endif
+-}
+-#endif
+-
+-
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-  
+-  /* Python-specific SWIG API */
+-#define SWIG_newvarlink()                             SWIG_Python_newvarlink()
+-#define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+-#define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
+-  
+-  /* -----------------------------------------------------------------------------
+-   * global variable support code.
+-   * ----------------------------------------------------------------------------- */
+-  
+-  typedef struct swig_globalvar {
+-    char       *name;                  /* Name of global variable */
+-    PyObject *(*get_attr)(void);       /* Return the current value */
+-    int       (*set_attr)(PyObject *); /* Set the value */
+-    struct swig_globalvar *next;
+-  } swig_globalvar;
+-  
+-  typedef struct swig_varlinkobject {
+-    PyObject_HEAD
+-    swig_globalvar *vars;
+-  } swig_varlinkobject;
+-  
+-  SWIGINTERN PyObject *
+-  swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
+-#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;
+-    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);
+-    Py_DECREF(str);
+-    return 0;
+-  }
+-  
+-  SWIGINTERN void
+-  swig_varlink_dealloc(swig_varlinkobject *v) {
+-    swig_globalvar *var = v->vars;
+-    while (var) {
+-      swig_globalvar *n = var->next;
+-      free(var->name);
+-      free(var);
+-      var = n;
+-    }
+-  }
+-  
+-  SWIGINTERN PyObject *
+-  swig_varlink_getattr(swig_varlinkobject *v, char *n) {
+-    PyObject *res = NULL;
+-    swig_globalvar *var = v->vars;
+-    while (var) {
+-      if (strcmp(var->name,n) == 0) {
+-        res = (*var->get_attr)();
+-        break;
+-      }
+-      var = var->next;
+-    }
+-    if (res == NULL && !PyErr_Occurred()) {
+-      PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+-    }
+-    return res;
+-  }
+-  
+-  SWIGINTERN int
+-  swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
+-    int res = 1;
+-    swig_globalvar *var = v->vars;
+-    while (var) {
+-      if (strcmp(var->name,n) == 0) {
+-        res = (*var->set_attr)(p);
+-        break;
+-      }
+-      var = var->next;
+-    }
+-    if (res == 1 && !PyErr_Occurred()) {
+-      PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+-    }
+-    return res;
+-  }
+-  
+-  SWIGINTERN PyTypeObject*
+-  swig_varlink_type(void) {
+-    static char varlink__doc__[] = "Swig var link object";
+-    static PyTypeObject varlink_type;
+-    static int type_init = 0;  
+-    if (!type_init) {
+-      const PyTypeObject tmp
+-      = {
+-        /* PyObject 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) */ 
+-        (printfunc) swig_varlink_print,     /* Print (tp_print) */
+-        (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
+-        (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
+-        0,                                  /* tp_compare */
+-        (reprfunc) swig_varlink_repr,       /* tp_repr */
+-        0,                                  /* tp_as_number */
+-        0,                                  /* tp_as_sequence */
+-        0,                                  /* tp_as_mapping */
+-        0,                                  /* tp_hash */
+-        0,                                  /* tp_call */
+-        (reprfunc) swig_varlink_str,        /* tp_str */
+-        0,                                  /* tp_getattro */
+-        0,                                  /* tp_setattro */
+-        0,                                  /* tp_as_buffer */
+-        0,                                  /* tp_flags */
+-        varlink__doc__,                     /* tp_doc */
+-        0,                                  /* tp_traverse */
+-        0,                                  /* tp_clear */
+-        0,                                  /* tp_richcompare */
+-        0,                                  /* tp_weaklistoffset */
+-#if PY_VERSION_HEX >= 0x02020000
+-        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+-#endif
+-#if PY_VERSION_HEX >= 0x02030000
+-        0,                                  /* tp_del */
+-#endif
+-#ifdef COUNT_ALLOCS
+-        0,0,0,0                             /* tp_alloc -> tp_next */
+-#endif
+-      };
+-      varlink_type = tmp;
+-      /* 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;
+-  }
+-  
+-  /* Create a variable linking object for use later */
+-  SWIGINTERN PyObject *
+-  SWIG_Python_newvarlink(void) {
+-    swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
+-    if (result) {
+-      result->vars = 0;
+-    }
+-    return ((PyObject*) result);
+-  }
+-  
+-  SWIGINTERN void 
+-  SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
+-    swig_varlinkobject *v = (swig_varlinkobject *) p;
+-    swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+-    if (gv) {
+-      size_t size = strlen(name)+1;
+-      gv->name = (char *)malloc(size);
+-      if (gv->name) {
+-        strncpy(gv->name,name,size);
+-        gv->get_attr = get_attr;
+-        gv->set_attr = set_attr;
+-        gv->next = v->vars;
+-      }
+-    }
+-    v->vars = gv;
+-  }
+-  
+-  SWIGINTERN PyObject *
+-  SWIG_globals(void) {
+-    static PyObject *_SWIG_globals = 0; 
+-    if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
+-    return _SWIG_globals;
+-  }
+-  
+-  /* -----------------------------------------------------------------------------
+-   * constants/methods manipulation
+-   * ----------------------------------------------------------------------------- */
+-  
+-  /* Install Constants */
+-  SWIGINTERN void
+-  SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
+-    PyObject *obj = 0;
+-    size_t i;
+-    for (i = 0; constants[i].type; ++i) {
+-      switch(constants[i].type) {
+-      case SWIG_PY_POINTER:
+-        obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+-        break;
+-      case SWIG_PY_BINARY:
+-        obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
+-        break;
+-      default:
+-        obj = 0;
+-        break;
+-      }
+-      if (obj) {
+-        PyDict_SetItemString(d, constants[i].name, obj);
+-        Py_DECREF(obj);
+-      }
+-    }
+-  }
+-  
+-  /* -----------------------------------------------------------------------------*/
+-  /* Fix SwigMethods to carry the callback ptrs when needed */
+-  /* -----------------------------------------------------------------------------*/
+-  
+-  SWIGINTERN void
+-  SWIG_Python_FixMethods(PyMethodDef *methods,
+-    swig_const_info *const_table,
+-    swig_type_info **types,
+-    swig_type_info **types_initial) {
+-    size_t i;
+-    for (i = 0; methods[i].ml_name; ++i) {
+-      const char *c = methods[i].ml_doc;
+-      if (c && (c = strstr(c, "swig_ptr: "))) {
+-        int j;
+-        swig_const_info *ci = 0;
+-        const char *name = c + 10;
+-        for (j = 0; const_table[j].type; ++j) {
+-          if (strncmp(const_table[j].name, name, 
+-              strlen(const_table[j].name)) == 0) {
+-            ci = &(const_table[j]);
+-            break;
+-          }
+-        }
+-        if (ci) {
+-          size_t shift = (ci->ptype) - types;
+-          swig_type_info *ty = types_initial[shift];
+-          size_t ldoc = (c - methods[i].ml_doc);
+-          size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
+-          char *ndoc = (char*)malloc(ldoc + lptr + 10);
+-          if (ndoc) {
+-            char *buff = ndoc;
+-            void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
+-            if (ptr) {
+-              strncpy(buff, methods[i].ml_doc, ldoc);
+-              buff += ldoc;
+-              strncpy(buff, "swig_ptr: ", 10);
+-              buff += 10;
+-              SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
+-              methods[i].ml_doc = ndoc;
+-            }
+-          }
+-        }
+-      }
+-    }
+-  } 
+-  
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-/* -----------------------------------------------------------------------------*
+- *  Partial Init method
+- * -----------------------------------------------------------------------------*/
+-
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-
+-SWIGEXPORT 
+-#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
+-  
+-  /* 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);
+-  SWIG_InstallConstants(d,swig_const_table);
+-  
+-  
+-  SWIG_Python_SetConstant(d, "SIZEOF_LONG",SWIG_From_int(static_cast< int >(4)));
+-  SWIG_Python_SetConstant(d, "SG_ARRAY_GROWTH_0",SWIG_From_int(static_cast< int >(SG_ARRAY_GROWTH_0)));
+-  SWIG_Python_SetConstant(d, "SG_ARRAY_GROWTH_1",SWIG_From_int(static_cast< int >(SG_ARRAY_GROWTH_1)));
+-  SWIG_Python_SetConstant(d, "SG_ARRAY_GROWTH_2",SWIG_From_int(static_cast< int >(SG_ARRAY_GROWTH_2)));
+-  SWIG_Python_SetConstant(d, "SG_ARRAY_GROWTH_3",SWIG_From_int(static_cast< int >(SG_ARRAY_GROWTH_3)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Bit",SWIG_From_int(static_cast< int >(SG_DATATYPE_Bit)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Byte",SWIG_From_int(static_cast< int >(SG_DATATYPE_Byte)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Char",SWIG_From_int(static_cast< int >(SG_DATATYPE_Char)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Word",SWIG_From_int(static_cast< int >(SG_DATATYPE_Word)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Short",SWIG_From_int(static_cast< int >(SG_DATATYPE_Short)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_DWord",SWIG_From_int(static_cast< int >(SG_DATATYPE_DWord)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Int",SWIG_From_int(static_cast< int >(SG_DATATYPE_Int)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_ULong",SWIG_From_int(static_cast< int >(SG_DATATYPE_ULong)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Long",SWIG_From_int(static_cast< int >(SG_DATATYPE_Long)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Float",SWIG_From_int(static_cast< int >(SG_DATATYPE_Float)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Double",SWIG_From_int(static_cast< int >(SG_DATATYPE_Double)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_String",SWIG_From_int(static_cast< int >(SG_DATATYPE_String)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Date",SWIG_From_int(static_cast< int >(SG_DATATYPE_Date)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Color",SWIG_From_int(static_cast< int >(SG_DATATYPE_Color)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Binary",SWIG_From_int(static_cast< int >(SG_DATATYPE_Binary)));
+-  SWIG_Python_SetConstant(d, "SG_DATATYPE_Undefined",SWIG_From_int(static_cast< int >(SG_DATATYPE_Undefined)));
+-  PyDict_SetItemString(d,(char*)"cvar", SWIG_globals());
+-  SWIG_addvarlink(SWIG_globals(),(char*)"gSG_Data_Type_Identifier",Swig_var_gSG_Data_Type_Identifier_get, Swig_var_gSG_Data_Type_Identifier_set);
+-  SWIG_Python_SetConstant(d, "SG_FILE_R",SWIG_From_int(static_cast< int >(SG_FILE_R)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_W",SWIG_From_int(static_cast< int >(SG_FILE_W)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_RW",SWIG_From_int(static_cast< int >(SG_FILE_RW)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_WA",SWIG_From_int(static_cast< int >(SG_FILE_WA)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_RWA",SWIG_From_int(static_cast< int >(SG_FILE_RWA)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_START",SWIG_From_int(static_cast< int >(SG_FILE_START)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_CURRENT",SWIG_From_int(static_cast< int >(SG_FILE_CURRENT)));
+-  SWIG_Python_SetConstant(d, "SG_FILE_END",SWIG_From_int(static_cast< int >(SG_FILE_END)));
+-  SWIG_Python_SetConstant(d, "SG_COLOR_NONE",SWIG_From_int(static_cast< int >(-1)));
+-  SWIG_Python_SetConstant(d, "SG_COLOR_RANDOM",SWIG_From_int(static_cast< int >(-2)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_DEFAULT",SWIG_From_int(static_cast< int >(SG_COLORS_DEFAULT)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_DEFAULT_BRIGHT",SWIG_From_int(static_cast< int >(SG_COLORS_DEFAULT_BRIGHT)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_BLACK_WHITE",SWIG_From_int(static_cast< int >(SG_COLORS_BLACK_WHITE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_BLACK_RED",SWIG_From_int(static_cast< int >(SG_COLORS_BLACK_RED)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_BLACK_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_BLACK_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_BLACK_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_BLACK_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_WHITE_RED",SWIG_From_int(static_cast< int >(SG_COLORS_WHITE_RED)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_WHITE_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_WHITE_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_WHITE_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_WHITE_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_YELLOW_RED",SWIG_From_int(static_cast< int >(SG_COLORS_YELLOW_RED)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_YELLOW_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_YELLOW_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_YELLOW_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_YELLOW_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_RED_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_RED_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_GREEN_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_GREEN_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_GREY_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_RED_GREY_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_GREY_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_RED_GREY_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_GREEN_GREY_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_GREEN_GREY_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_GREEN_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_RED_GREEN_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RED_BLUE_GREEN",SWIG_From_int(static_cast< int >(SG_COLORS_RED_BLUE_GREEN)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_GREEN_RED_BLUE",SWIG_From_int(static_cast< int >(SG_COLORS_GREEN_RED_BLUE)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_RAINBOW",SWIG_From_int(static_cast< int >(SG_COLORS_RAINBOW)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_NEON",SWIG_From_int(static_cast< int >(SG_COLORS_NEON)));
+-  SWIG_Python_SetConstant(d, "SG_COLORS_COUNT",SWIG_From_int(static_cast< int >(SG_COLORS_COUNT)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_NORMAL",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_NORMAL)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_BOLD",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_BOLD)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_ITALIC",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_ITALIC)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_SUCCESS",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_SUCCESS)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_FAILURE",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_FAILURE)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_BIG",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_BIG)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_SMALL",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_SMALL)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_01",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_01)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_02",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_02)));
+-  SWIG_Python_SetConstant(d, "SG_UI_MSG_STYLE_03",SWIG_From_int(static_cast< int >(SG_UI_MSG_STYLE_03)));
+-  SWIG_Python_SetConstant(d, "SG_UI_DATAOBJECT_UPDATE_ONLY",SWIG_From_int(static_cast< int >(SG_UI_DATAOBJECT_UPDATE_ONLY)));
+-  SWIG_Python_SetConstant(d, "SG_UI_DATAOBJECT_SHOW",SWIG_From_int(static_cast< int >(SG_UI_DATAOBJECT_SHOW)));
+-  SWIG_Python_SetConstant(d, "SG_UI_DATAOBJECT_SHOW_NEW_MAP",SWIG_From_int(static_cast< int >(SG_UI_DATAOBJECT_SHOW_NEW_MAP)));
+-  SWIG_Python_SetConstant(d, "SG_UI_DATAOBJECT_SHOW_LAST_MAP",SWIG_From_int(static_cast< int >(SG_UI_DATAOBJECT_SHOW_LAST_MAP)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_PROCESS_GET_OKAY",SWIG_From_int(static_cast< int >(CALLBACK_PROCESS_GET_OKAY)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_PROCESS_SET_OKAY",SWIG_From_int(static_cast< int >(CALLBACK_PROCESS_SET_OKAY)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_PROCESS_SET_PROGRESS",SWIG_From_int(static_cast< int >(CALLBACK_PROCESS_SET_PROGRESS)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_PROCESS_SET_READY",SWIG_From_int(static_cast< int >(CALLBACK_PROCESS_SET_READY)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_PROCESS_SET_TEXT",SWIG_From_int(static_cast< int >(CALLBACK_PROCESS_SET_TEXT)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_STOP_EXECUTION",SWIG_From_int(static_cast< int >(CALLBACK_STOP_EXECUTION)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DLG_MESSAGE",SWIG_From_int(static_cast< int >(CALLBACK_DLG_MESSAGE)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DLG_CONTINUE",SWIG_From_int(static_cast< int >(CALLBACK_DLG_CONTINUE)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DLG_ERROR",SWIG_From_int(static_cast< int >(CALLBACK_DLG_ERROR)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DLG_PARAMETERS",SWIG_From_int(static_cast< int >(CALLBACK_DLG_PARAMETERS)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_MESSAGE_ADD",SWIG_From_int(static_cast< int >(CALLBACK_MESSAGE_ADD)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_MESSAGE_ADD_ERROR",SWIG_From_int(static_cast< int >(CALLBACK_MESSAGE_ADD_ERROR)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_MESSAGE_ADD_EXECUTION",SWIG_From_int(static_cast< int >(CALLBACK_MESSAGE_ADD_EXECUTION)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_FIND_BY_FILE",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_FIND_BY_FILE)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_CHECK",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_CHECK)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_ADD",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_ADD)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_UPDATE",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_UPDATE)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_SHOW",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_SHOW)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_ASIMAGE",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_ASIMAGE)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_COLORS_GET",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_COLORS_GET)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_COLORS_SET",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_COLORS_SET)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_PARAMS_GET",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_PARAMS_GET)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_PARAMS_SET",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_PARAMS_SET)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_DATAOBJECT_GET_ALL",SWIG_From_int(static_cast< int >(CALLBACK_DATAOBJECT_GET_ALL)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_GUI_GET_WINDOW",SWIG_From_int(static_cast< int >(CALLBACK_GUI_GET_WINDOW)));
+-  SWIG_Python_SetConstant(d, "CALLBACK_GET_APP_PATH",SWIG_From_int(static_cast< int >(CALLBACK_GET_APP_PATH)));
+-  SWIG_Python_SetConstant(d, "INTERSECTION_None",SWIG_From_int(static_cast< int >(INTERSECTION_None)));
+-  SWIG_Python_SetConstant(d, "INTERSECTION_Identical",SWIG_From_int(static_cast< int >(INTERSECTION_Identical)));
+-  SWIG_Python_SetConstant(d, "INTERSECTION_Overlaps",SWIG_From_int(static_cast< int >(INTERSECTION_Overlaps)));
+-  SWIG_Python_SetConstant(d, "INTERSECTION_Contained",SWIG_From_int(static_cast< int >(INTERSECTION_Contained)));
+-  SWIG_Python_SetConstant(d, "INTERSECTION_Contains",SWIG_From_int(static_cast< int >(INTERSECTION_Contains)));
+-  SWIG_Python_SetConstant(d, "SG_POINT_TYPE_XY",SWIG_From_int(static_cast< int >(SG_POINT_TYPE_XY)));
+-  SWIG_Python_SetConstant(d, "SG_POINT_TYPE_XYZ",SWIG_From_int(static_cast< int >(SG_POINT_TYPE_XYZ)));
+-  SWIG_Python_SetConstant(d, "SG_POINT_TYPE_XYZM",SWIG_From_int(static_cast< int >(SG_POINT_TYPE_XYZM)));
+-  SWIG_Python_SetConstant(d, "SG_POINT_TYPE_XY_Int",SWIG_From_int(static_cast< int >(SG_POINT_TYPE_XY_Int)));
+-  SWIG_Python_SetConstant(d, "SG_DISTWGHT_None",SWIG_From_int(static_cast< int >(SG_DISTWGHT_None)));
+-  SWIG_Python_SetConstant(d, "SG_DISTWGHT_IDW",SWIG_From_int(static_cast< int >(SG_DISTWGHT_IDW)));
+-  SWIG_Python_SetConstant(d, "SG_DISTWGHT_EXP",SWIG_From_int(static_cast< int >(SG_DISTWGHT_EXP)));
+-  SWIG_Python_SetConstant(d, "SG_DISTWGHT_GAUSS",SWIG_From_int(static_cast< int >(SG_DISTWGHT_GAUSS)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_FMT_WKT",SWIG_From_int(static_cast< int >(SG_PROJ_FMT_WKT)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_FMT_Proj4",SWIG_From_int(static_cast< int >(SG_PROJ_FMT_Proj4)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_FMT_EPSG",SWIG_From_int(static_cast< int >(SG_PROJ_FMT_EPSG)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_FMT_Undefined",SWIG_From_int(static_cast< int >(SG_PROJ_FMT_Undefined)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_TYPE_CS_Undefined",SWIG_From_int(static_cast< int >(SG_PROJ_TYPE_CS_Undefined)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_TYPE_CS_Projected",SWIG_From_int(static_cast< int >(SG_PROJ_TYPE_CS_Projected)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_TYPE_CS_Geographic",SWIG_From_int(static_cast< int >(SG_PROJ_TYPE_CS_Geographic)));
+-  SWIG_Python_SetConstant(d, "SG_PROJ_TYPE_CS_Geocentric",SWIG_From_int(static_cast< int >(SG_PROJ_TYPE_CS_Geocentric)));
+-  SWIG_addvarlink(SWIG_globals(),(char*)"gSG_Projection_Type_Identifier",Swig_var_gSG_Projection_Type_Identifier_get, Swig_var_gSG_Projection_Type_Identifier_set);
+-  SWIG_Python_SetConstant(d, "M_PI",SWIG_From_double(static_cast< double >(3.141592653589793)));
+-  SWIG_Python_SetConstant(d, "M_PI_045",SWIG_From_double(static_cast< double >((3.141592653589793/4.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_090",SWIG_From_double(static_cast< double >((3.141592653589793/2.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_135",SWIG_From_double(static_cast< double >((3.141592653589793*3.0/4.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_180",SWIG_From_double(static_cast< double >((3.141592653589793))));
+-  SWIG_Python_SetConstant(d, "M_PI_225",SWIG_From_double(static_cast< double >((3.141592653589793*5.0/4.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_270",SWIG_From_double(static_cast< double >((3.141592653589793*3.0/2.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_315",SWIG_From_double(static_cast< double >((3.141592653589793*7.0/4.0))));
+-  SWIG_Python_SetConstant(d, "M_PI_360",SWIG_From_double(static_cast< double >((3.141592653589793*2.0))));
+-  SWIG_Python_SetConstant(d, "M_RAD_TO_DEG",SWIG_From_double(static_cast< double >((180.0/3.141592653589793))));
+-  SWIG_Python_SetConstant(d, "M_DEG_TO_RAD",SWIG_From_double(static_cast< double >((3.141592653589793/180.0))));
+-  SWIG_Python_SetConstant(d, "M_EULER",SWIG_From_double(static_cast< double >(2.718281828459045)));
+-  SWIG_Python_SetConstant(d, "N_MEGABYTE_BYTES",SWIG_From_int(static_cast< int >(0x100000)));
+-  SWIG_Python_SetConstant(d, "M_ALMOST_ZERO",SWIG_From_double(static_cast< double >(0.001)));
+-  SWIG_Python_SetConstant(d, "M_TINY",SWIG_From_double(static_cast< double >((1.0e-20))));
+-  SWIG_Python_SetConstant(d, "SG_CLUSTERANALYSIS_Minimum_Distance",SWIG_From_int(static_cast< int >(SG_CLUSTERANALYSIS_Minimum_Distance)));
+-  SWIG_Python_SetConstant(d, "SG_CLUSTERANALYSIS_Hill_Climbing",SWIG_From_int(static_cast< int >(SG_CLUSTERANALYSIS_Hill_Climbing)));
+-  SWIG_Python_SetConstant(d, "SG_CLUSTERANALYSIS_Combined",SWIG_From_int(static_cast< int >(SG_CLUSTERANALYSIS_Combined)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Linear",SWIG_From_int(static_cast< int >(REGRESSION_Linear)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Rez_X",SWIG_From_int(static_cast< int >(REGRESSION_Rez_X)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Rez_Y",SWIG_From_int(static_cast< int >(REGRESSION_Rez_Y)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Pow",SWIG_From_int(static_cast< int >(REGRESSION_Pow)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Exp",SWIG_From_int(static_cast< int >(REGRESSION_Exp)));
+-  SWIG_Python_SetConstant(d, "REGRESSION_Log",SWIG_From_int(static_cast< int >(REGRESSION_Log)));
+-  SWIG_Python_SetConstant(d, "SG_TREND_STRING_Formula",SWIG_From_int(static_cast< int >(SG_TREND_STRING_Formula)));
+-  SWIG_Python_SetConstant(d, "SG_TREND_STRING_Function",SWIG_From_int(static_cast< int >(SG_TREND_STRING_Function)));
+-  SWIG_Python_SetConstant(d, "SG_TREND_STRING_Formula_Parameters",SWIG_From_int(static_cast< int >(SG_TREND_STRING_Formula_Parameters)));
+-  SWIG_Python_SetConstant(d, "SG_TREND_STRING_Complete",SWIG_From_int(static_cast< int >(SG_TREND_STRING_Complete)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_Grid",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_Grid)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_Table",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_Table)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_Shapes",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_Shapes)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_TIN",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_TIN)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_PointCloud",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_PointCloud)));
+-  SWIG_Python_SetConstant(d, "DATAOBJECT_TYPE_Undefined",SWIG_From_int(static_cast< int >(DATAOBJECT_TYPE_Undefined)));
+-  SWIG_Python_SetConstant(d, "TABLE_FILETYPE_Undefined",SWIG_From_int(static_cast< int >(TABLE_FILETYPE_Undefined)));
+-  SWIG_Python_SetConstant(d, "TABLE_FILETYPE_Text",SWIG_From_int(static_cast< int >(TABLE_FILETYPE_Text)));
+-  SWIG_Python_SetConstant(d, "TABLE_FILETYPE_Text_NoHeadLine",SWIG_From_int(static_cast< int >(TABLE_FILETYPE_Text_NoHeadLine)));
+-  SWIG_Python_SetConstant(d, "TABLE_FILETYPE_DBase",SWIG_From_int(static_cast< int >(TABLE_FILETYPE_DBase)));
+-  SWIG_Python_SetConstant(d, "TABLE_INDEX_None",SWIG_From_int(static_cast< int >(TABLE_INDEX_None)));
+-  SWIG_Python_SetConstant(d, "TABLE_INDEX_Ascending",SWIG_From_int(static_cast< int >(TABLE_INDEX_Ascending)));
+-  SWIG_Python_SetConstant(d, "TABLE_INDEX_Descending",SWIG_From_int(static_cast< int >(TABLE_INDEX_Descending)));
+-  SWIG_Python_SetConstant(d, "SG_TABLE_REC_FLAG_Modified",SWIG_From_int(static_cast< int >(0x01)));
+-  SWIG_Python_SetConstant(d, "SG_TABLE_REC_FLAG_Selected",SWIG_From_int(static_cast< int >(0x02)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_Mean",SWIG_From_int(static_cast< int >(GRID_PYRAMID_Mean)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_Max",SWIG_From_int(static_cast< int >(GRID_PYRAMID_Max)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_Min",SWIG_From_int(static_cast< int >(GRID_PYRAMID_Min)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_MaxCount",SWIG_From_int(static_cast< int >(GRID_PYRAMID_MaxCount)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_Arithmetic",SWIG_From_int(static_cast< int >(GRID_PYRAMID_Arithmetic)));
+-  SWIG_Python_SetConstant(d, "GRID_PYRAMID_Geometric",SWIG_From_int(static_cast< int >(GRID_PYRAMID_Geometric)));
+-  SWIG_Python_SetConstant(d, "GRID_MEMORY_Normal",SWIG_From_int(static_cast< int >(GRID_MEMORY_Normal)));
+-  SWIG_Python_SetConstant(d, "GRID_MEMORY_Cache",SWIG_From_int(static_cast< int >(GRID_MEMORY_Cache)));
+-  SWIG_Python_SetConstant(d, "GRID_MEMORY_Compression",SWIG_From_int(static_cast< int >(GRID_MEMORY_Compression)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_FORMAT_Undefined",SWIG_From_int(static_cast< int >(GRID_FILE_FORMAT_Undefined)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_FORMAT_Binary",SWIG_From_int(static_cast< int >(GRID_FILE_FORMAT_Binary)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_FORMAT_ASCII",SWIG_From_int(static_cast< int >(GRID_FILE_FORMAT_ASCII)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_NAME",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_NAME)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_DESCRIPTION",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_DESCRIPTION)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_UNITNAME",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_UNITNAME)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_DATAFILE_NAME",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_DATAFILE_NAME)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_DATAFILE_OFFSET",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_DATAFILE_OFFSET)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_DATAFORMAT",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_DATAFORMAT)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_BYTEORDER_BIG",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_BYTEORDER_BIG)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_POSITION_XMIN",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_POSITION_XMIN)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_POSITION_YMIN",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_POSITION_YMIN)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_CELLCOUNT_X",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_CELLCOUNT_X)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_CELLCOUNT_Y",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_CELLCOUNT_Y)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_CELLSIZE",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_CELLSIZE)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_Z_FACTOR",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_Z_FACTOR)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_NODATA_VALUE",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_NODATA_VALUE)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_TOPTOBOTTOM",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_TOPTOBOTTOM)));
+-  SWIG_Python_SetConstant(d, "GRID_FILE_KEY_Count",SWIG_From_int(static_cast< int >(GRID_FILE_KEY_Count)));
+-  SWIG_addvarlink(SWIG_globals(),(char*)"gSG_Grid_File_Key_Names",Swig_var_gSG_Grid_File_Key_Names_get, Swig_var_gSG_Grid_File_Key_Names_set);
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_NearestNeighbour",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_NearestNeighbour)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Bilinear",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Bilinear)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_InverseDistance",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_InverseDistance)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_BicubicSpline",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_BicubicSpline)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_BSpline",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_BSpline)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Mean_Nodes",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Mean_Nodes)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Mean_Cells",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Mean_Cells)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Minimum",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Minimum)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Maximum",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Maximum)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Majority",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Majority)));
+-  SWIG_Python_SetConstant(d, "GRID_INTERPOLATION_Undefined",SWIG_From_int(static_cast< int >(GRID_INTERPOLATION_Undefined)));
+-  SWIG_Python_SetConstant(d, "GRID_OPERATION_Addition",SWIG_From_int(static_cast< int >(GRID_OPERATION_Addition)));
+-  SWIG_Python_SetConstant(d, "GRID_OPERATION_Subtraction",SWIG_From_int(static_cast< int >(GRID_OPERATION_Subtraction)));
+-  SWIG_Python_SetConstant(d, "GRID_OPERATION_Multiplication",SWIG_From_int(static_cast< int >(GRID_OPERATION_Multiplication)));
+-  SWIG_Python_SetConstant(d, "GRID_OPERATION_Division",SWIG_From_int(static_cast< int >(GRID_OPERATION_Division)));
+-  SWIG_Python_SetConstant(d, "SG_VERTEX_TYPE_XY",SWIG_From_int(static_cast< int >(SG_VERTEX_TYPE_XY)));
+-  SWIG_Python_SetConstant(d, "SG_VERTEX_TYPE_XYZ",SWIG_From_int(static_cast< int >(SG_VERTEX_TYPE_XYZ)));
+-  SWIG_Python_SetConstant(d, "SG_VERTEX_TYPE_XYZM",SWIG_From_int(static_cast< int >(SG_VERTEX_TYPE_XYZM)));
+-  SWIG_Python_SetConstant(d, "SHAPE_TYPE_Undefined",SWIG_From_int(static_cast< int >(SHAPE_TYPE_Undefined)));
+-  SWIG_Python_SetConstant(d, "SHAPE_TYPE_Point",SWIG_From_int(static_cast< int >(SHAPE_TYPE_Point)));
+-  SWIG_Python_SetConstant(d, "SHAPE_TYPE_Points",SWIG_From_int(static_cast< int >(SHAPE_TYPE_Points)));
+-  SWIG_Python_SetConstant(d, "SHAPE_TYPE_Line",SWIG_From_int(static_cast< int >(SHAPE_TYPE_Line)));
+-  SWIG_Python_SetConstant(d, "SHAPE_TYPE_Polygon",SWIG_From_int(static_cast< int >(SHAPE_TYPE_Polygon)));
+-  SWIG_Python_SetConstant(d, "SHAPE_NO_COPY",SWIG_From_int(static_cast< int >(SHAPE_NO_COPY)));
+-  SWIG_Python_SetConstant(d, "SHAPE_COPY_GEOM",SWIG_From_int(static_cast< int >(SHAPE_COPY_GEOM)));
+-  SWIG_Python_SetConstant(d, "SHAPE_COPY_ATTR",SWIG_From_int(static_cast< int >(SHAPE_COPY_ATTR)));
+-  SWIG_Python_SetConstant(d, "SHAPE_COPY",SWIG_From_int(static_cast< int >(SHAPE_COPY)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_BYTEORDER_XDR",SWIG_From_int(static_cast< int >(SG_OGIS_BYTEORDER_XDR)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_BYTEORDER_NDR",SWIG_From_int(static_cast< int >(SG_OGIS_BYTEORDER_NDR)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_Point",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_Point)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_LineString",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_LineString)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_Polygon",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_Polygon)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPoint",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPoint)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiLineString",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiLineString)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPolygon",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPolygon)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_GeometryCollection",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_GeometryCollection)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolyhedralSurface",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolyhedralSurface)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TIN",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TIN)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_Triangle",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_Triangle)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PointZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PointZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_LineStringZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_LineStringZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolygonZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolygonZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPointZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPointZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiLineStringZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiLineStringZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPolygonZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPolygonZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_GeometryCollectionZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_GeometryCollectionZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolyhedralSurfaceZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolyhedralSurfaceZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TINZ",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TINZ)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_Trianglez",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_Trianglez)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PointM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PointM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_LineStringM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_LineStringM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolygonM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolygonM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPointM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPointM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiLineStringM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiLineStringM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPolygonM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPolygonM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_GeometryCollectionM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_GeometryCollectionM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolyhedralSurfaceM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolyhedralSurfaceM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TINM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TINM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TriangleM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TriangleM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PointZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PointZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_LineStringZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_LineStringZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolygonZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolygonZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPointZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPointZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiLineStringZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiLineStringZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_MultiPolygonZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_MultiPolygonZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_GeometryCollectionZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_GeometryCollectionZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_PolyhedralSurfaceZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_PolyhedralSurfaceZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TinZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TinZM)));
+-  SWIG_Python_SetConstant(d, "SG_OGIS_TYPE_TriangleZM",SWIG_From_int(static_cast< int >(SG_OGIS_TYPE_TriangleZM)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_INPUT",SWIG_From_int(static_cast< int >(0x01)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_OUTPUT",SWIG_From_int(static_cast< int >(0x02)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_OPTIONAL",SWIG_From_int(static_cast< int >(0x04)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_INFORMATION",SWIG_From_int(static_cast< int >(0x08)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_IGNORE_PROJECTION",SWIG_From_int(static_cast< int >(0x10)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_INPUT_OPTIONAL",SWIG_From_int(static_cast< int >((0x01|0x04))));
+-  SWIG_Python_SetConstant(d, "PARAMETER_OUTPUT_OPTIONAL",SWIG_From_int(static_cast< int >((0x02|0x04))));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_NAME",SWIG_From_int(static_cast< int >(0x01)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_TYPE",SWIG_From_int(static_cast< int >(0x02)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_OPTIONAL",SWIG_From_int(static_cast< int >(0x04)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_PROPERTIES",SWIG_From_int(static_cast< int >(0x08)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_TEXT",SWIG_From_int(static_cast< int >(0x10)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_DESCRIPTION_ALL",SWIG_From_int(static_cast< int >((0x01|0x02|0x04|0x08|0x10))));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Node",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Node)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Bool",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Bool)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Int",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Int)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Double",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Double)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Degree",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Degree)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Range",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Range)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Choice",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Choice)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_String",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_String)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Text",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Text)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_FilePath",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_FilePath)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Font",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Font)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Color",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Color)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Colors",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Colors)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_FixedTable",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_FixedTable)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Grid_System",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Grid_System)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Table_Field",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Table_Field)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_PointCloud",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_PointCloud)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Grid",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Grid)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Table",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Table)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Shapes",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Shapes)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_TIN",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_TIN)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Grid_List",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Grid_List)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Table_List",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Table_List)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Shapes_List",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Shapes_List)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_TIN_List",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_TIN_List)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_PointCloud_List",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_PointCloud_List)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_DataObject_Output",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_DataObject_Output)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Parameters",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Parameters)));
+-  SWIG_Python_SetConstant(d, "PARAMETER_TYPE_Undefined",SWIG_From_int(static_cast< int >(PARAMETER_TYPE_Undefined)));
+-  SWIG_Python_SetConstant(d, "MODULE_TYPE_Base",SWIG_From_int(static_cast< int >(MODULE_TYPE_Base)));
+-  SWIG_Python_SetConstant(d, "MODULE_TYPE_Interactive",SWIG_From_int(static_cast< int >(MODULE_TYPE_Interactive)));
+-  SWIG_Python_SetConstant(d, "MODULE_TYPE_Grid",SWIG_From_int(static_cast< int >(MODULE_TYPE_Grid)));
+-  SWIG_Python_SetConstant(d, "MODULE_TYPE_Grid_Interactive",SWIG_From_int(static_cast< int >(MODULE_TYPE_Grid_Interactive)));
+-  SWIG_Python_SetConstant(d, "MODULE_ERROR_Unknown",SWIG_From_int(static_cast< int >(MODULE_ERROR_Unknown)));
+-  SWIG_Python_SetConstant(d, "MODULE_ERROR_Calculation",SWIG_From_int(static_cast< int >(MODULE_ERROR_Calculation)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_UNDEFINED",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_UNDEFINED)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_LDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_LDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_LUP",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_LUP)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_LDCLICK",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_LDCLICK)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MUP",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MUP)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MDCLICK",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MDCLICK)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_RDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_RDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_RUP",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_RUP)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_RDCLICK",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_RDCLICK)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MOVE",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MOVE)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MOVE_LDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MOVE_LDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MOVE_MDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MOVE_MDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_MOVE_RDOWN",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_MOVE_RDOWN)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_DRAG_NONE",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_DRAG_NONE)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_DRAG_LINE",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_DRAG_LINE)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_DRAG_BOX",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_DRAG_BOX)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_DRAG_CIRCLE",SWIG_From_int(static_cast< int >(MODULE_INTERACTIVE_DRAG_CIRCLE)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_LEFT",SWIG_From_int(static_cast< int >(0x01)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_MIDDLE",SWIG_From_int(static_cast< int >(0x02)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_RIGHT",SWIG_From_int(static_cast< int >(0x04)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_SHIFT",SWIG_From_int(static_cast< int >(0x08)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_ALT",SWIG_From_int(static_cast< int >(0x10)));
+-  SWIG_Python_SetConstant(d, "MODULE_INTERACTIVE_KEY_CTRL",SWIG_From_int(static_cast< int >(0x20)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Name",SWIG_From_int(static_cast< int >(MLB_INFO_Name)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Description",SWIG_From_int(static_cast< int >(MLB_INFO_Description)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Author",SWIG_From_int(static_cast< int >(MLB_INFO_Author)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Version",SWIG_From_int(static_cast< int >(MLB_INFO_Version)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Menu_Path",SWIG_From_int(static_cast< int >(MLB_INFO_Menu_Path)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_User",SWIG_From_int(static_cast< int >(MLB_INFO_User)));
+-  SWIG_Python_SetConstant(d, "MLB_INFO_Count",SWIG_From_int(static_cast< int >(MLB_INFO_Count)));
+-#if PY_VERSION_HEX >= 0x03000000
+-  return m;
+-#else
+-  return;
+-#endif
+-}
+-
+-- 
diff --git a/debian/patches/series b/debian/patches/series
index a45f658..1c3b729 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 0002-Enable-qhull-replaces-triangle.c.patch
 0003-Remove-references-to-triangle.c-from-Makefile.am.patch
 0004-Use-debian-version-of-libgrib.patch
+0005-Run-autoconf-fi.patch

-- 
Saga GIS



More information about the Pkg-grass-devel mailing list